在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java  HTML/ 前臺(tái)json數(shù)據(jù)已什么格式傳給后臺(tái),后臺(tái)controller可以已兩個(gè)參數(shù)接收,

前臺(tái)json數(shù)據(jù)已什么格式傳給后臺(tái),后臺(tái)controller可以已兩個(gè)參數(shù)接收,比如一個(gè)list,一個(gè)string

前臺(tái)代碼
$.ajax({

    type:"post",
    url: 'add',
    contentType:"application/json; charset=utf-8",
    dataType:"json",
    data:JSON.stringify({
            content:"nihaoahaha",
            param:[{id:1,name:"hello"},{id:2,name:"hello"}]
    }),
    success:function(data){
        console.log(data);
    }
})

后臺(tái)代碼:
@ResponseBody

@RequestMapping(value = "add", consumes = "application/json; charset=utf-8")
public String add(@RequestBody String content, @RequestBody List<Tag> param) {
    System.out.println("param:" + param);
    return "成功";
}


報(bào)錯(cuò)信息:
2018-01-29 17:04:55.765  WARN 10768 --- [nio-8088-exec-4] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public java.lang.String com.example.demo.controller.HelloController.add(java.lang.String,java.util.List<com.example.demo.entity.Tag>)

2018-01-29 17:04:55.765 WARN 10768 --- [nio-8088-exec-4] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public java.lang.String com.example.demo.controller.HelloController.add(java.lang.String,java.util.List<com.example.demo.entity.Tag>)

回答
編輯回答
過(guò)客

1.上傳的是一個(gè)json格式的數(shù)據(jù)啊.你的自己解析json.

2.String參數(shù)前面不用加@RequestBody

2017年9月17日 18:48
編輯回答
練命

String前面不需要加requestBody 只需要在需要包裝的pojo對(duì)象前加requestBody注解即可.
public String add( String content, @RequestBody List<Tag> param)

2018年5月16日 07:58
編輯回答
敢試

兩種方案
1.Content-Type以application/x-www-form-urlencoded的方式進(jìn)行傳輸,此種傳輸方式是構(gòu)造form表單的普通post請(qǐng)求的方式進(jìn)行傳輸
這種方式的話,你的controller中需要有兩個(gè)參數(shù),同時(shí)這個(gè)兩個(gè)參數(shù)不能加@RequestBody或者是加@RequestParam,參數(shù)會(huì)以字符串和數(shù)組的形式填充到參數(shù)里面
2.Content-Type以applocation/json的方式進(jìn)行傳輸,此種方式需要傳輸一個(gè)json格式的字符串,controller中需要以一個(gè)字符串來(lái)進(jìn)行接受這個(gè)json字符串,如果用注解的話需要添加@RequestBody,如果不用注解,需要從request域里面把body內(nèi)容讀取出來(lái),然后將此字符串進(jìn)行json反序列化成對(duì)象,如果想讓他自動(dòng)轉(zhuǎn)化成對(duì)象,需要在springmvc的配置里面配置json序列化工具。

2018年2月1日 09:39
編輯回答
熟稔

創(chuàng)建一個(gè)Bean
public class Bean {

private String content;
private List<Tag> param;

}
public String add( @RequestBody Bean bean)就可以了
也可以使用@RequestBody Map<String,Object> map。。。

2018年9月16日 01:26
編輯回答
瘋子范

根據(jù)目前所知的答案,是沒(méi)有辦法的,只能使用封裝類,或字符串自己解析

2017年7月10日 23:19