flutter dio 和springboot2 controller在post上的对应关系,Restful URL

本文详细探讨了Flutter Dio库在进行POST请求时与SpringBoot2控制器的对应关系,特别是contentType的应用。在SpringBoot中,@RequestBody注解用于自动装配JSON参数,而@RequestParam会导致错误。同时,介绍了RESTful URL的设计原则,并给出了错误代码示例。Flutter Dio的data类型为dynamic,当设置为formData时,contentType变为multipart/form-data,导致SpringBoot返回错误。最后,由于http包不支持map嵌套map的结构,故选择Dio进行复杂数据类型的POST请求。
摘要由CSDN通过智能技术生成

一、
springboot2代码:

@PostMapping
public ResponseEntity<MetaInfo> post(@RequestBody MetaInfo m) {...}

flutter 代码:

var response = await dio.post("http://localhost:1112/metaInfo", data: body);
//或url:  http://localhost:1112/metaInfo/

flutter dio 的post提交contentType默认是application/json,data类型:dynamic。
springboot controller参数对应是@RequestBody,把请求的json参数自动装配成类对象,这是利好;
注意不能把参数写成@RequestParam,否则springboot会给出如下错误:

error: "Bad Request"
message: "Required MetaInfo parameter 'm' is not present"
path: "/metaInfo"
status: 400

二、Restful URL对应关系

@RestController
@RequestMapping("/metaInfo")
@Slf4j
@CrossOrigin//跨域
public class MetaInfoController {
	@PostMapping(“/abc”)
    public ResponseEntity<MetaIn
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值