首页新闻找找看学习计划

HttpClient发送http或https请求携带参数

0
悬赏园豆:30 [待解决问题]

使用HttpClient发送http请求并携带参数,调用服务端Controller方法。在Controller中入参是一个自定义的实体,http请求携带的参数是用Contoller实体参数拼接成的json串,为什么发送请求总是失败。请教大家发送http请求时携带参数和服务端接收参数分别应该怎么设置?(服务端接受参数使用自定义实体)

shaoyp的主页 shaoyp | 初学一级 | 园豆:25
提问于:2018-07-14 16:48
< >
分享
所有回答(2)
0

发到 POST 请求时有没有将 content type 设置为 application/json

dudu | 园豆:39857 (高人七级) | 2018-07-14 17:06

请求头信息:

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();

。。。

支持(0) 反对(0) shaoyp | 园豆:25 (初学一级) | 2018-07-14 17:10

@shaoyp: 原来是 Java ,我误以为是 C# ,我对 Java 不熟悉

支持(0) 反对(0) dudu | 园豆:39857 (高人七级) | 2018-07-14 17:13

@dudu: 没关系

支持(0) 反对(0) shaoyp | 园豆:25 (初学一级) | 2018-07-14 17:23
0

你可以在浏览器上提交查找服务端问题, 如果服务端没问题, 那就看见客户端contenttype

一叶兰舟飘 | 园豆:351 (菜鸟二级) | 2018-07-16 10:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册