来自django的背景,在dw
上不是很强大,请放轻松!
我有一个资源,其发布数据如下:
@POST
@Path("changestatus/{status}")
@Consumes(MediaType.APPLICATION_JSON)
public Response changeStatus(String dataString,
@PathParam("status") Status status) {
HashMap<String, Object> responseMessage = new HashMap<>();
Response.Status respStatus = Response.Status.OK;
// --- ugly stuff to clean things hence the question!!!
// dataString = dataString.replace("dataString=", "").replace("%2C", ",");
// do stuffs
现在,如果我将输入
POST
参数传递为abcd,tklmj,1234cd
,则资源将把dataString
作为dataString=abcd%2Ctklmj%2C1234cd
。dataString
的值在字面上有dataString
字,以及,
转换为%2C
的方式,我如何反序列化它们以获得原始输入?如上,从其值中删除dataString
和%2C
。阿贾克斯电话
var target_url = statusURL + status_text;
data = {"dataString": all_data}
$.ajax({
type: "POST",
url: target_url,
data: data,
success: function(data){
console.log(data)
}
});
我使用的是dropwizard 1.2.2版。
最佳答案
使用HashMap处理来自正文的数据:
@POST
@Path("changestatus/{status}")
@Consumes(MediaType.APPLICATION_JSON)
public Response changeStatus(HashMap data,
@PathParam("status") Status status) {
获得价值
String param1 = (String) data.get(<your param name>)