1

HTTP GET 要求を使用して REST Web サービスにアクセスしようとしています。

たとえば、次の URI は、特定のカテゴリで使用可能なすべてのパーツを返す REST Web サービスを提供します。

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

上記の REST リクエストにアクセスしているユーザーを毎回認証/承認し、HTTP Get Request でユーザー認証の詳細 (ユーザー名とトークン) を渡したいです。

REST HTTP GET リクエスト (HTTP ヘッダーまたはクエリ パラメータを使用) で上記の要件を満たす可能性はありますか?

また

HTTP GET の代わりに HTTP POST を使用する方が良いですか?

4

2 に答える 2

0

restletにはrestフレームワーク用の豊富なAPIがあるため、restletを使用している場合は良いことではありません

ただし、認証したい場合はこれがなくても、GETまたはPOSTで同じことができます

ただし、資格情報データをトラフに送信しますcookie

このようにして、サーバー側から同じCookieを使用して読み取り、@CookieParamユーザーを簡単に認証できます。

于 2012-06-13T06:09:33.273 に答える
0

情報を取得しているので、「Get」を使用する必要があります。リクエストにoauth_tokenを追加するために私が使用するコード(Restletベース)は次のとおりです...

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 を使用するとこれが簡単になります)。

于 2012-06-11T07:42:23.453 に答える