Java 5'ten Java 1.7'ye geçiş yapan bir java geliştiricisiyim ve bunun mümkün olduğunu bilmeden bazı kodlara bakıyorum.Aynı dinlenme bitiş noktası olan iki java yöntemi
@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 ...;
}
Burada aynı dinlenme bitiş noktası olan iki yöntem var. Tek fark, farklı reson türlerini üretmeleridir.
Arayan uygulama rootUrl/bookId/1234'ü çağırıyorsa, bu, java'nın yanıt türüne göre hangi yöntemin çağrılacağını bilecek kadar akıllı görünüyor.
Doğru muyum? Birisi bunu anlamama yardımcı olabilir.
sayesinde
İstekte bulunan istemci, başlıkta beklediği yanıt türünü belirleyebilmelidir. Uygulama/x-protobuf' beklenen yanıt ise, hizmet sadece hangi yöntemi çağırmak için biliyor olabilir. Üstbilgide beklenen yanıt belirtilmezse ne olacağından emin değilim (belki 'uygulama/json' varsayılan veya bir şey olur) – ochi
İstemcinin almak istediği istekte belirtmek için kullanılacak üstbilgi "kabul et" başlık – ochi