postman使用实例(二)

引言:postman测试接口案例,本文所使用的是网页版的postman。

1. 后端采用@RequestBody接收

(1)post + @RequestBody,接收JSON字符串

 Content-type: application/json是将json对象转换为json字符串,@RequestBody注解接收的是json字符串

@PostMapping("/address")
public Address save(@RequestBody Address address){
    System.out.println("address = " + address);
    return address;
}

  

 (2)post + 默认

// 实体中createTime采用了@DateTimeFormat(pattern = "yyyy-MM-dd")注解
@PostMapping("/address1")
public Address save1(Address address){
    System.out.println("address = " + address);
    return address;
}

2. 后端采用@RequestParam接收

(1)post + @RequestParam,接收JSON对象

采用此种方式时,前端会把参数拼接为:路径 + ?id=1&addressName=%E5%AE%98%E8%B4%A4&createTime=2019-08-23的形式

复制代码
@PostMapping("/address2")
public Address save2(@RequestParam(name = "addressName") String addressName, @RequestParam(name = "id")Long id,
                     @RequestParam("createTime")String createTime) throws ParseException {

    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date createData = dateFormat.parse(createTime);
    Address address = new Address().setAddressName(addressName).setId(id).setCreateTime(createData);
    System.out.println(addressName);
    return address;
}
复制代码

(2)get + @RequerstParam/默认

复制代码
/**
 * 访问路径:http://localhost:8080/address/1
 * 不能以:http://localhost:8080/address?id=1 的方式访问
 * @param id
 * @return
 */
@GetMapping("/address/{id}")
public Address getAddress(@PathVariable("id") Long id){
    Optional<Address> addressOptional = addressRepository.findById(id);
    return addressOptional.orElse(new Address());
}

/**
 * 前端以GET的方式提交
 * 访问:
 * @param id
 * @return
 */
@GetMapping("/get")
public Address getAddress1(Long id){
    Optional<Address> addressOptional = addressRepository.findById(id);
    return addressOptional.orElse(new Address());
}
复制代码

 

 

参考:

POST提交数据之---Content-Type的理解

get 、post请求 后台@RequestParam、@RequestBody 接收的方法集合

posted @   一帘幽梦&nn  阅读(443)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击查看具体代码内容
点击右上角即可分享
微信分享提示