重生之 SpringBoot3 入门保姆级学习(14、内容协商基础简介)
- 3.3 内容协商
- 3.3.1 基础简介
- 3.3.2 演示效果
3.3 内容协商
3.3.1 基础简介
默认规则
- 基于请求头的内容协商(默认开启)
- 客户端向服务器发送请求,携带 HTTP 标准的 Accept 请求头
- Accept:appliaction/json、text/xml、text/yaml
- 服务端会根据客户请求头期望的数据类型进行动态返回
- 基于请求参数内容协商(需要开启)
- 发送请求 GET/person?format=json
- 匹配到 @GetMapping(“/person”)
- 跟模参数协商,优先返回JSON类型数据 【需开启参数匹配设置】
- 发送请求 GET/person?format=xml,优先返回 xml 类型数据
3.3.2 演示效果
- 创建 Person 类
package com.zhong.web.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @ClassName : Person
* @Description :
* @Author : zhx
* @Date: 2024-06-02 13:05
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private Integer id;
private String userName;
private String like;
private Integer age;
}
- 创建 GetPersonController
package com.zhong.web.controller;
import com.zhong.web.dto.Person;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @ClassName : GetPersonController
* @Description :
* @Author : zhx
* @Date: 2024-06-02 13:07
*/
@RestController
public class GetPersonController {
@GetMapping("/person")
public Person getPerson() {
Person person = new Person();
person.setId(1);
person.setUserName("小钟");
person.setAge(23);
person.setLike("小王");
return person;
}
}
- 重新启动应用浏览器测试
http://localhost:8080/person
默认发回数据类型为 json 若想返回 xml 类型可以做下面的操作