使用HttpClient发送http请求并携带参数,调用服务端Controller方法。在Controller中入参是一个自定义的实体,http请求携带的参数是用Contoller实体参数拼接成的json串,为什么发送请求总是失败。请教大家发送http请求时携带参数和服务端接收参数分别应该怎么设置?(服务端接受参数使用自定义实体)
发到 POST 请求时有没有将 content type 设置为 application/json
?
请求头信息:
httpPost.setHeader("Content-Type", "application/json;charset=UTF-8");
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("name", "Tom"));
// 5.设置请求体,并指定请求体中内容的编码格式
httpPost.setEntity(new UrlEncodedFormEntity(list, Charset.forName("UTF-8")));
服务端接收参数:
@RequestMapping("/test/getList")
@ResponseBody
public String getAll(@RequestBody Teacher tea) {
List<Teacher> list = teacherService.getAll();
。。。
@shaoyp: 原来是 Java ,我误以为是 C# ,我对 Java 不熟悉
@dudu: 没关系
你可以在浏览器上提交查找服务端问题, 如果服务端没问题, 那就看见客户端contenttype