Jersey を使用して REST Web サービスを開発しようとしています。私の要件は、渡された PatParam パラメーターに基づいて、Web サービスにアクセスし、データを返すことができることです。これまでの私のWebサービスは次のとおりです。
@GET
@Produces(MediaType.APPLICATION_JSON)
@Consumes({ "application/xml", "application/json", "application/x-www-form-urlencoded" })
@Path("/1.0/people{extension:(.json)*}/{personId:([^/]+?)?}{entityExtension:(.json)*}")
public String getLocation(@PathParam("extension") String extension, @PathParam("personId") String personId,@PathParam("entityExtension") String entityExtension)
{
if ((personId==null ||personId.equals("")) && (extension == null || extension.equals("")))
return "No Id, and no extension";
else
return "personId= "+personId + ", extension= " + extension+", entityExtension= "+entityExtension;
}
上記のコードを念頭に置いて、私が達成しようとしているのは次のとおりです。
http://localhost:8080/Jersey/RestService/1.0/people.json
すべての人のリストを「json」形式で返す必要があります (したがって、拡張子は .json です)
ここで、個人の ID を入力するだけで特定の個人の情報を取得し、拡張子に基づいてその個人の情報を json/xml で返すことができるようにしたいと考えています。
http://localhost:8080/Jersey/RestService/1.0/people/Mouhammed89.json
上記の URL では、personId: Mouhammed89 の情報が返され、その情報が json 形式で返されます。
私の問題は私が使用している正規表現にあることを知っているので、正規表現の作成を手伝っていただければ幸いです。