向REST HTTP GET添加更多参数

时间:2012-06-11 07:06:09

标签: rest jboss get restlet restful-url

我正在尝试使用HTTP GET请求访问REST Web服务。

对于以下示例,URI提供Rest Web服务,该服务返回给定类别的所有可用部分。

http://localhost:8080/mycompany/parts/category

我想验证/授权每次访问上述REST请求的用户,并且我想通过HTTP Get Request传递用户身份验证详细信息(用户名和令牌)。

是否有可能满足REST HTTP GET请求中的上述要求(使用HTTP头或查询参数)?

使用HTTP POST而不是HTTP GET更好吗?

2 个答案:

答案 0 :(得分:0)

由于您获取信息,因此您应该使用" Get"。这是我使用的代码(基于Restlet),用于将oauth_token添加到请求中...

import org.restlet.data.Reference;
import org.restlet.ext.oauth.OAuthUser;
import org.restlet.representation.Representation;
import org.restlet.resource.ClientResource;

Reference commitsRef = new Reference(Consts.RESOURCE_BASE + "commitments/"); 
OAuthUser u = (OAuthUser) request.getClientInfo().getUser();
String token = u.getAccessToken();  
ref.addQueryParameter("oauth_token", token);
ClientResource commitsResource = new ClientResource(getContext(), commitsRef);
Representation commitsRep = commitsResource.get();

如上所述,这是基于Restlet的,但在您使用的框架中可能有类似的东西。 (如果你没有使用框架,Restlet可以使这更容易)。

答案 1 :(得分:0)

如果你使用的是restlet,那么因为restlet具有丰富的api for rest framework

但是没有这个,如果你想进行身份验证而不是 你可以用GET或POST做同样的事情

但通过cookie

发送您的凭据数据

从服务器端使用@CookieParam读取相同的cookie 通过这种方式,您可以轻松验证用户身份。