FireFox插件RESTClient 如何使用POST,请求json数据参数。

来源:互联网 发布:大黄蜂数据 编辑:程序博客网 时间:2024/05/18 00:49
FireFox插件RESTClient 如何使用POST,请求json数据参数。

1.概述:

在用 FireFox 插件 RESTClient 的插件时候,GET DELETE 很正常,但是 POST PUT 传输的 JSON 数据应该放在哪儿呢?怎么配置请求类型呢?怀着这些疑问找了写资料也没有弄出来,后来经过研究其实很简单。特在此分享一下,哈哈!!!

2.火狐RESTClient插件请求Json对象

  • 在插件菜单栏里点击Headers ---> custom header 增加一个Name : Content-type Value: application/json 如果你请求的不是json也可以添加其他value,比如application/x-www-form-urlencoded 。 
  • 然后在Headers 里就有你添加的项了。
  • 在URL地址里添加你要请求的URL:http://localhost:8080/SpringREST/rest/v1_0/airport_service/seatMap/testPost
  • 接下来就要添加你要POST请求的参数了,在Body选项卡里添加你要请求的参数,特别注意之前网上博客里提到的有a=1&b=2这种形式传参,对于我们json传递参数不能这么传,我们要传json格式的参数。例如:{"id":"20","name":"张三"}
  • 最后点击SEND按钮就返回你想要的结果了。

3.SpringMVC 服务端示例

/** * test post *  */@RequestMapping(value="/testPost", method=RequestMethod.POST, produces="text/plain;charset=UTF-8;", consumes="application/json")@ResponseBodypublic String testPost(@RequestBody User user) {System.out.println("客户端发来的数据:" + user);return "OK";}

4.Ajax通过post请求json对象

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script type="text/javascript"    src="<%=basePath%>resources/scripts/jquery-2.0.3.min.js"></script><script type="text/javascript">$(function(){    $("#send").click(function(){        var jsondata = $("#jsondata").val();        var jsonobj = JSON.parse(jsondata)                 var callback = function (data) {            $("#result").html(JSON.stringify(data))        }                 $.postJSON('<%=basePath%>api/user/test', jsonobj, callback)         });    })     $.postJSON = function(url, data, callback) {        return jQuery.ajax({            'type' : 'POST',            'url' : url,            'contentType' : 'application/json',            'data' : JSON.stringify(data),            'dataType' : 'json',            'success' : callback        });    };</script></head><body>    JSON对象    <br>    <textarea id="jsondata" cols="60" rows="5">    {"id":2,"name":"张三","accessToken":"fd6bf3dd3cca4b0ca7c9099447994dba"}    </textarea><br>     <button id="send">POST</button><br>     <font color="red" id="result"></font></body></html>

5.总结

  • Ajax请求时没有设置Content-Type为Json,对于ext来说就是要把POST的内容放到jsonData属性中,而不是params。
  • 发送的表单内容对象不要转成JSON字符串,直接发送JSON对象即可,否则就415错误!
  • 请求参数格式一定确认你要请求的格式和设置类型是否匹配。
  • 测试大家就自己测试吧,大概思路就是这样,返回的数据可以通过Spring容器设置要返回的格式。如果参数里面带中文,可能会出现乱码的问题,这也可以通过容器进行设置。具体参照@ResponseBody 导致的中文乱码问题见:http://my.oschina.net/freegeek/blog/287127

ps.附上一张请求成功的图片,仅供参考。















1 0
原创粉丝点击