如何从http POST请求不敏感地映射JSON大小写

时间:2015-08-06 15:53:54

标签: java json web-services

我正在使用带有JSON的http Post请求来获取对我的webservice的请求。 我的问题是我希望JSON参数不区分大小写,以便用户可以输入大写或小写的参数。

有没有办法实现这一点,而不是像在这个链接中为所有参数使用不同的setter Case insensitive JSON to POJO mapping without changing the POJO

这是我的样本pojo:

public class SamplePojo implements Serializable
{
    String name;
    String mobileNo;
    String address;
}

这是我的网络服务

@RequestMapping(value = "/send", 
    method = RequestMethod.POST, 
    consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String trackSMSPost (@RequestBody SamplePojo sample) 
{
    process(sample);
    return "true";
}

即使参数名称都是大写或小写或者是camelcase,有没有办法将请求发送到Web服务。

2 个答案:

答案 0 :(得分:0)

根据JSON-RPC specs

  

所有名称等都区分大小写。符合实施   因此必须将所有名称视为区分大小写的名称   “bar”和“BAR”将被视为两个截然不同的实体。

所以基本上约定规定所有名称都区分大小写,如果你真的需要不区分大小写,那么你唯一的选择是肮脏的技巧(例如实现getter-setters)。

答案 1 :(得分:0)

JSON区分大小写 备用
你可以接受请求作为字符串,并使其toUpperCase [只有数据是任何数值时才有效] :-) kirti mandwade