0

我正在为我们的应用程序开发一个新的 REST-full web 服务,我想在 requestHeader 中发送请求数据而不是作为查询参数发送,因为我的请求数据很大。

我有我的 jquery 代码,如下所示,将 json 添加到请求标头并调用 REST 服务 GET 方法。

$.ajax({  
beforeSend: function(req) {  
req.setRequestHeader("test", "{name:mouli, id:918}");},  
type : "GET",  
data :'',  
dataType : "jsonp",  
url : 'http://localhost:29801/RestFulJSONExample/rest/jobdesc?callback=?',  
success : function(data) {  
alert("invoked");  
}  
});  
});  

我的 REST 服务中的 GET 方法就像

@GET  
@Produces("application/javascript")  
public JSONWithPadding getJobDescription(@Context HttpHeaders headers) {  
    List<String> requestHeader = headers.getRequestHeader("test");  
//some logic here.  
}  

我可以从我在 jquery 请求中添加的请求标头中获取 JSON 对象。

我的问题是..我可以采用这种方法吗?它安全吗?如果不是,请告诉我其他方式?

4

1 回答 1

0

标题中“:”右侧出现的内容大部分是免费的。您必须考虑 HTTP 中的字符集限制,以及 JSON 值中可能的回车(您知道,多行的标题具有特定的语法)。如果您的 JSON 示例相对简单,那么我认为这没有问题。这只是组织标题行实际值的另一种方式。

于 2012-05-31T20:53:10.930 回答