javaweb请求响应+@ResponseBody注解

这里用了一款接口测试软件postman

简单参数

SpringBoot方式

简单参数:参数名与形参变量名相同,定义形参即可接收参数。

请求参数名与方法形参变量名相同

会自动进行类型转换

java 复制代码
package com.example.springbootwebreqresp.Controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class RequestController {
    @RequestMapping("/simpleParm")
    public String simpleParm(String name,Integer age){
        System.out.println(name+":"+age);
        return "OK";
    }
}

postman接口测试👇

控制台也输出了获取的

下面是post请求

依旧可以返回

如果参数对应不上呢?👇

这说明只要参数对应的上就能接收成功,参数对应不上接收就不成功,但不会报错

如果方法形参名称与请求参数名称不匹配,可以使用 @Requestparam 完成映射。

@RequestParam中的required属性默认为true,代表该请求参数必须传递,如果不传递将报错。如果该参数是可选的,可以将required属性设置为false。

我给name前面的√取消掉

客户端错误

@RequestParam中的required属性默认为true,代表请求参数必须传递,如果不传递将报错。

报错👇

required👇

这样去测试的话👇

就不会报错了

只获取了age的值

实体参数

简单实体对象:

请求参数名与形参对象属性名相同,定义POJO接收即可

java 复制代码
@RestController
public class RequestController {
   

    @RequestMapping("/simplePojo")
    public String simplePojo(User user){
        System.out.println(user);
        return "OK";
    }
}

复杂实体对象:

请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJ0属性参数。

java 复制代码
@RestController
public class RequestController {

    @RequestMapping("/complexPojo")
    public String complexPojo(User user){
        System.out.println(user);
        return "OK";
    }
}

数组集合参数

数组参数

java 复制代码
@RestController
public class RequestController {
    @RequestMapping("/arrParam")
    public String arrParam(String[] hobby){
        System.out.println(Arrays.toString(hobby));
        return "OK";
    }
}

集合参数

请求参数名与形参集合名称相同且请求参数为多个,@RequestParam 绑定参数关系

java 复制代码
@RequestMapping("/listParam")
    public String listParam(@RequestParam List<String> hobby){
        System.out.println(hobby);
        return "OK";
    }

日期参数

日期参数:使用 @DateTimeFormat 注解完成日期参数格式转换

java 复制代码
 @RequestMapping("/dateParam")
    public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDate updateTime){
        System.out.println(updateTime);
        return "OK";
    }

json参数

java 复制代码
  @RequestMapping("/jsonParam")
    public String jsonParam(@RequestBody User user){
        System.out.println(user);
        return "OK";
    }

路径参数

路径参数:通过请求URL直接传递参数,使用{..}来标识该路径参数,需要使用 @PathVariable 获取

java 复制代码
@RequestMapping("/path/{id}")
    public String pathParam(@PathVariable Integer id){
        System.out.println(id);
        return "OK";
    }

传递多个路径参数 👇

java 复制代码
 @RequestMapping("/path/{id}/{name}")
    public String pathParam2(@PathVariable Integer id,@PathVariable String name){
        System.out.println(id+":"+name);
        return "OK";
    }

@ResponseBody 注解

类型:方法注解、类注解

位置:Controller方法上/类上

作用:将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换为JSON格式

响应说明:@RestController=@Controller+ @ResponseBody;

相关推荐
武子康3 分钟前
Java-200 RabbitMQ 架构与 Exchange 路由:fanout/direct/topic/headers
java·架构·消息队列·系统架构·rabbitmq·java-rabbitmq·mq
计算机学姐5 分钟前
基于SSM的社区外来务工人员管理系统【2026最新】
java·vue.js·java-ee·tomcat·maven·intellij-idea·mybatis
好学且牛逼的马6 分钟前
HttpServlet 深度拆解:从设计模式看透其核心原理
java·servlet·设计模式
顾安r7 分钟前
12.17 脚本网页 创意导航
java·linux·前端·游戏·html
Json____7 分钟前
springboot框架对接物联网,配置TCP协议依赖,与设备通信,让TCP变的如此简单
java·spring boot·后端·tcp/ip
洛阳泰山7 分钟前
快速上手 MaxKB4J:开源企业级智能知识库系统在 Sealos 上的完整部署指南
java·开源·llm·agent·rag
risc1234568 分钟前
【Elasticsearch】副本恢复机制文件级(file-based)操作级(ops-based)顶级理解
java·mysql·lucene
后端小张9 分钟前
【JAVA 进阶】深入拆解SpringBoot自动配置:从原理到实战的完整指南
java·开发语言·spring boot·后端·spring·spring cloud·springboot
Yeniden9 分钟前
Deepeek用大白话讲解 → 解释器模式(企业级场景1,规则引擎2,表达式解析3,SQL解析4)
java·sql·解释器模式
一起养小猫14 分钟前
《Java数据结构与算法》第四篇(二)二叉树的性质、定义与链式存储实现
java·数据结构·算法