この基本的な例を見てください:
サーバ:
@Path("/your-path")
@RequestScoped
public class JSONService {
private final static String AUTH_TOKEN = "rxxkksdfnnchshs";
@GET
@Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
public Response fetchData(@QueryParam("auth_token") String auth_token) {
if(AUTH_TOKEN.equals(auth_token)){
final String results = "result: the object what you want";
return Response.status(Response.Status.OK).entity(results).build();
}
else{
return Response.status(Response.Status.UNAUTHORIZED).build();
}
}
}
クライアント:
@ManagedBean(name="your-bean-name")
@RequestScoped
public class ResteasyClient {
private static final String BASE_URI = "http://localhost:8080/your-context/your-rest-path";
private final static String AUTH_TOKEN = "rxxkksdfnnchshs";
ClientRequest webResource;
ClientResponse response;
private String data;
public DBOResteasyClient() {
final String Path = "/your-path";
webResource = new ClientRequest(BASE_URI+Path);
}
@Produces
@Named
public String getData(){
return this.data;
}
@PostConstruct
public void fetchData() {
try{
ClientRequest resource = webResource;
response = resource.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON).queryParameter("auth_token",AUTH_TOKEN).get(ClientResponse.class);
}catch(Exception e ){
//
}
if(response.getStatus() == 200 ){
data = (String) response.getEntity(String.class);
}
}
}
この例では、サーバーで@QueryParam( "auth_token")String auth_tokenを使用して、auth_tokenおよびresource.accept(javax.ws.rs.core.MediaType.APPLICATION_JSON).queryParameter( "auth_token"、AUTH_TOKEN)というhttpリクエストのパラメーターを取得します。 auth_tokenというパラメータを追加します。キーは次のとおりです。サーバーはパラメータを使用して独自の値"(AUTH_TOKEN.equals(auth_token)"と比較し、残りがどのように構築されたかをhttpコードで応答します。 .OK) "http 401 if not"(Response.Status.UNAUTHORIZED) "