私はJava 5からJava 1.7に移行するJava開発者です。可能性があることを知らないコードがあります。2つのJavaメソッドが同じ休止エンドポイント
@Path("/myroot")
@Service
public class MyServiceClass {
@POST
@Produces({ "application/x-protobuf" })
@Path("bookid/{bookNumber}")
public Response findBookByBookId(
@PathParam("bookNumber") String bookNumber,
@QueryParam("searchType") String searchType) {
return ...
}
@POST
@Produces("application/json")
@Path("bookid/{bookNumber}")
public Response findBookByBookIdAsJson(
@PathParam("bookNumber") String bookNumber,
@QueryParam("searchType") String searchType) {
return ...;
}
ここでは、同じ残りの終了点を持つ2つの方法があります。唯一の違いは、異なる共振タイプを生成することです。
呼び出し元のアプリケーションは、Javaは、応答タイプに基づいて呼び出すためにどのような方法を知るには十分にスマートであるようにrootURL/bookId/1234に見える呼び出している場合は私の質問はあります。
私は正しいですか?誰かが私の理解を助けてくれますか?
おかげ
要求を行うクライアントは、ヘッダーで期待している応答タイプを指定できる必要があります。 'application/x-protobuf'が期待される応答であれば、サービスは単に呼び出すメソッドを知るかもしれません。私は、予想される応答がヘッダーに指定されていない場合に何が起こるかわからない(多分 'アプリケーション/ json'がデフォルトか何かになります) – ochi
クライアントが受け取るために喜んでどのような要求に指定するために使用するヘッダーが' accept'ですヘッダー – ochi