当前位置: 首页 > news >正文

springboot请求响应

  • 不区分请求方法 @RequestMapping("/")
  • GET请求:@GetMapping("/")
  • POST请求:@PostMapping("/")
  • JSON参数 @RequestBody ,普通参数 @RequestParam

@RestController = @Controller + @ResponseBody

原始请求

@RequestMapping("/simpleParam")
public String simpleParam(HttpServletRequest request){
	String name =request.getParameter("name");
	String ageStr = request.getParameter("age");
	int age =Integer.parselnt(ageStr);
	System.out.println(name+" :"+age);
	return "OK";
}

简单参数

形参变量名与 get 参数名相同,即可接收参数

@RequestMapping("/simpleParam")
public String simpleParam(String name, integer age){
	System.out.println(name+" :"+age);
	return name+" :"+age;
}
// 如果方法形参名称与请求参数名称不匹配, 通过注解映射
public String simpleParam(@RequestParam(name ="name")String name, integer age){
}

实体参数

// pojo.User.java
public class User {
	private String name;
	private integer age;
	private Address address;
	// ... get/set/toString 
}
// pojo.Address.java
public class Address {
	private String province,
	private String city;
}

// ?name=Bob&age=16&address.province=beijing&address.city=beijing
@RequestMapping("/simplePojo")
public String simplePojo(User user){
	System.out.println(user);
	return "OK";
}

数组/集合参数

?hobby=1&hobby=2?hobby=game,java

//数组参数
@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby){
    System.out.println(Arrays.toString(hobby));
    return "OK";
}

//集合参数
@RequestMapping("/listParam")
public String listParam(@RequestParam List<String> hobby){
    System.out.println(hobby);
    return "OK";
}

日期参数

?updateTime=2022-12-12 10:05:45

@RestController
public class RequestController {
    //日期时间参数
   @RequestMapping("/dateParam")
    public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
        System.out.println(updateTime);
        return "OK";
    }
}

json 参数

{
	"name":"Bob", "age":16,
	"address":{
		"province": "北京",
		"city": "北京"
	}
}
@RestController
public class RequestController {
    //JSON参数
    @RequestMapping("/jsonParam")
    public String jsonParam(@RequestBody User user){
        System.out.println(user);
        return user;
    }
}

public class Address {
    private String province;
    private String city;
    // get/set/toString
}
public class User {
    private String name;
    private Integer age;
    private Address address;
    // get/set/toString
} 

路径参数

http://localhost:8080/path/1/alice

@RestController
public class RequestController {
    //路径参数
    @RequestMapping("/path/{id}/{name}")
    public String pathParam2(@PathVariable Integer id, @PathVariable String name){
        System.out.println(id+ " : " +name);
        return "OK";
    }
}

相关文章:

  • 设计一个高性能的分布式限流系统
  • Redis的消息队列是怎么实现的
  • HarmonyOS开发,深拷贝、浅拷贝的封装和调用
  • Spring Boot 核心知识点:依赖注入 (Dependency Injection)
  • 智慧社区2.0
  • C# 中常见 JSON 处理库的优缺点对比
  • 【设计模式】3W 学习法深入剖析创建型模式:原理、实战与开源框架应用(含 Java 代码)
  • 条款43:学习处理模板化基类内的名称
  • 提示deepseek生成完整的json用于对接外部API
  • 【Film】MovieAgent:自动化电影生成通过多智能体CoT规划
  • Linux上的`i2c-tools`工具集的详细介绍;并利用它操作IMX6ULL的I2C控制器进而控制芯片AP3216C读取光照值和距离值
  • 深度学习框架PyTorch——从入门到精通(1)下载与安装
  • flutter 专题 一百零三
  • MySQL如何存储表情符号?
  • LeetCode 第14~16题
  • 【gopher的java学习笔记】如何知道java应用启动过程中加载了哪些class
  • 【2025 最新 Cursor AI 教程 06】Cursor AI 与其他 AI 编码助手的比较
  • vue render函数开发高阶组件(HOC)
  • 卷积神经网络 - 卷积的变种、数学性质
  • 【多线程-第四天-SDWebImage介绍-复习前一天的内容 Objective-C语言】
  • 女排奥运冠军宋妮娜:青少年保持身心健康才能走得更远
  • 江西4人拟任县(市、区)委书记,其中一人为“80后”
  • 马上评|文玩字画竞拍轻松赚差价?严防这类新型传销
  • 习近平向多哥新任领导人致贺电
  • 特朗普促卡塔尔说服伊朗放弃核计划,伊朗总统:你来吓唬我们?
  • 欠债七十万后,一个乡镇驿站站长的中年心事