|
发送代码:
public static void main(String[] args) throws Exception {
HttpClient client = new DefaultHttpClient();
String path = "http://localhost:8080/TestAnnotationConfig/b";
HttpPost post = new HttpPost(path);
Vendor v = new Vendor();
v.setName("传输数据");
v.setDescription("数据传输");
v.setCreateDate(new Date());
v.setId(20);
String content = JSONBinder.binder(Vendor.class).toJSON(v);
StringEntity entity = new StringEntity(content);
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
post.setEntity(entity);
HttpResponse response = client.execute(post);
System.out.println("响应状态码:" + response.getStatusLine().getStatusCode());
InputStream is = response.getEntity().getContent();
String text = StreamUtil.readInputStream(is);
System.out.println("服务器端响应的数据:" + text);
}
服务器端接收的代码:
@RequestMapping(value = "/b", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public String b(@RequestBody Vendor v) {
System.out.println("客户端发送的数据:" + v);
return "success";
}
执行代码报错415。请问怎么回事? 大神求解,叩谢。 |
|
![]() |
String content = JSONBinder.binder(Vendor.class).toJSON(v);
不要转 string 直接发对象 |
![]() |
StringEntity只能接受字符串参数啊,对象怎么直接发送呢? |
![]() |
代码看起来没什么问题,什么版本的springmvc?
|
![]() 35分 |
// 设置HTTP POST请求参数必须用NameValuePair对象
Gson g = new Gson();
List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
//Map键是param, 值是实体
params.add(new BasicNameValuePair("param", g.toJson(entity)));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, HTTP.UTF_8);
// 设置HTTP POST请求参数
httpPost.setEntity(entity);
|
![]() |
解决了吗 怎么解决的
|

