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

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")
	@ResponseBody
	public 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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值