Skip to main content

请求

HttpServletRequest,获取请求数据

简单参数

  • 原始方式:在原始的web程序中,获取请求参数,需要通过HTTpServletRequest对象手动获取

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

    ​ 如果参数不匹配,可以使用@RequestParam完成映射.

    @RequestParam中的required属性默认为true,代表必须传递 参数,否则会报错,可设置为false

    public String simpleParam(@RequestParam(name="name")String username, Integer age)

实体参数

  • 简单实体对象:请求参数名与形参对象属性名相同,定义POJO接受即可

    User.java在POJO文件夹下

  • 复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJO属性参数。

数组集合参数

  • 数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型即可接收参数

    @RequestMapping("/arrayParam")
    public String arrayParam(String[] hobby) {
    System.out.println(Arrays.toString(hobby));
    return "OK";
    }
  • 集合参数:请求参数名与形参集合名称相同请求参数为多个,@RequestParam绑定参数关系

    @RequestMapping("/listParam")
    public String listParam(@RequestPara List<String> hobby) {
    System.out.print(hobby);
    return "OK";
    }

日期参数

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

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

Json参数

  • JSON参数:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用@RequestBody标识

    @RequstMapping("/jsonParam")
    public String jsonParam(@RequstBody User user)……

路径参数

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

    @RequestMapping("/path/{id}/{name1}")
    public String pathParam(@PathVariable Integer id, @PathVariable String name1)……

响应

HttpServletResponse,设置响应数据

@ResponseBody

  • 类型:方法注解、类注解
  • 位置:Controller方法上/类上
  • 作用:将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换为JSON格式响应
  • 说明:@RestController=@Controller+@ResponseBody;

BS架构

Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端

CS架构

Client/Server,客户端/服务器架构模式