- Spring Boot REST API之驼峰格式与下划线格式互
- 重拾后端之Spring Boot(五) -- 跨域、自定义查询及
- 重拾后端之Spring Boot(六) -- 热加载、容器和多项
- 重拾后端之Spring Boot(三):找回熟悉的Control
- 重拾后端之Spring Boot(一):REST API的搭建可
- 重拾后端之Spring Boot(二):MongoDB的无缝集成
- 重拾后端之Spring Boot(四):使用JWT和Spring
- Spring Security
- Spring Boot Rest API的格式:json vs
- Spring全家桶——SpringBoot Rest API
技术要求:
(1)接口支持Map和JSON两种封装参数的形式;
(2)实体类中属性采用驼峰格式,而第三方请求时参数采用下划线格式;
(3)支持在Postman和浏览器中测试。
解决办法:
方法一:
在实体类中,每个属性的set方法由setPropertyName改为setProperty_name。同时接口方法形式如下:

优点:简单,一个方法就能支持GET和POST,同时GET和POST方法都支持Map和JSON封装参数
缺点:不符合Java编码规范,不够优雅
方法二:
由于方法一不符合编码规范,可以使用fastjson的@JsonProperty注解,加上分别以@RequestBody和@RequestParam注解的方法来响应POST和GET请求。代码片段如下:


优点:结构清晰易懂
缺点:Map封装的参数只能用GET请求,而JSON封装的参数只能使用POST请求
方法三:
参考https://blog.csdn.net/wtopps/article/details/83791927这篇文章,采用原生的HttpServletRequest来捕捉请求参数。

优点:无需注解,容易理解
缺点:没有使用Spring Boot的内建机制,可能存在效率问题(没有验证过)
总的来说,如果是新项目,建议采用方法二,即Spring Boot提供的两个注解来分别处理Map和JSON封装参数的请求。
网友评论