背景:
最近项目中使用SpringMVC,需要从前端接收JSON格式的请求,在后端自动转成一个与JSON格式相同的对象。
由于是一个老项目,Spring的版本是3.2.7。
问题:POST or GET
这个请求,是一个计算类型的请求,不涉及数据的修改,从意义上来说的角度应该是一个 GET 请求。
但是请求报文设计时要求高度的灵活性,传递的属性都是以 kind-value 形式,如:
{
"kind":"premium",
"value":"1000"
}
而不是传统的模式:
{
"premium":"1000"
}
所以报文的长度会显得非常的长。
以下是最初的后端 Controller 设计:
1 @Controller 2 @RequestMapping(value = "/PMS/Groovy") 3 public class GetGroovyValueController { 4 5 @RequestMapping(value = "/Discount", method = RequestMethod.POST) 6 @ResponseBody 7 public ResponseVO<String> getDiscount(LiabilityVO liabilityVO) { 8 // 具体代码不详述了 9 } 10 }