Spring Boot REST API之驼峰格式与下划线格式互转

技术要求:
(1)接口支持Map和JSON两种封装参数的形式;
(2)实体类中属性采用驼峰格式,而第三方请求时参数采用下划线格式;
(3)支持在Postman和浏览器中测试。

解决办法:
方法一:
在实体类中,每个属性的set方法由setPropertyName改为setProperty_name。同时接口方法形式如下:


image.png

优点:简单,一个方法就能支持GET和POST,同时GET和POST方法都支持Map和JSON封装参数
缺点:不符合Java编码规范,不够优雅

方法二:
由于方法一不符合编码规范,可以使用fastjson的@JsonProperty注解,加上分别以@RequestBody和@RequestParam注解的方法来响应POST和GET请求。代码片段如下:


实体类属性注解
Spring Boot REST API之驼峰格式与下划线格式互转_第1张图片
入口方法注解

优点:结构清晰易懂
缺点:Map封装的参数只能用GET请求,而JSON封装的参数只能使用POST请求

方法三:
参考https://blog.csdn.net/wtopps/article/details/83791927这篇文章,采用原生的HttpServletRequest来捕捉请求参数。

Spring Boot REST API之驼峰格式与下划线格式互转_第2张图片
采用原生的HttpServletRequest捕捉参数

优点:无需注解,容易理解
缺点:没有使用Spring Boot的内建机制,可能存在效率问题(没有验证过)

总的来说,如果是新项目,建议采用方法二,即Spring Boot提供的两个注解来分别处理Map和JSON封装参数的请求。

你可能感兴趣的:(Spring Boot REST API之驼峰格式与下划线格式互转)