前一段時間,我在其中一個項目中發現了一些球衣根(@Path)資源類上的@WebService註釋。據我瞭解,當時它是一些遺留代碼或簡單地被濫用的JAX-WS註釋。最近,我偶然發現了這個post,其中爲了提到EJB而將JAX-RS服務與@WebService註釋混合在一起(作爲附註,我所做的項目根本沒有使用EJB,所以我仍然認爲它是不正確的使用@WebService)。現在我感到困惑的是,如果通常將@WebService和JAX-RS混合在一起是合理的。這是什麼情況?除了提到的EJB特性之外,還有什麼?REST風格的Web服務端點上的JAX-WS @WebService
1
A
回答
3
使用@WebService
作爲SOAP WS的方法公開JAX-RS bean在技術上可能是可行的。它不會導致一個好的API設計。
考慮一些很常見的JAX-RS方法:
@GET
@Path("/foos")
@Produces("application/json")
public Response getFoos() {
// get all Foos
List<Foo> foos = ...;
return Response.ok(foos).build();
}
@GET
@Path("/foos/{id}")
@Produces("application/json")
public Response getSingleFoo(@PathParam("id") String id) {
// get the Foo
Foo foo = ...;
return Response.ok(foo).build();
}
這是immediatley明顯調用這些方法中的URL將如何構建,結果會是怎樣。
但暴露使用@WebService
導致這些方法的許多問題:
- 什麼是一個SOAP響應
Response
? - 響應是否使用JSON作爲表示?
- 如何調用方法?
我可以想象,沒有使用JAX-RS和JAX-WS公開的相同方法並不完全無關緊要的用例。它可以是一個有用的方法,但不適用於兩者。
不要這樣做。
相關問題
- 1. Mule 3:創建一個REST風格的Web服務端點
- 2. Spring REST風格Web服務的端口綁定
- 3. REST風格的Web服務中的@POST
- 4. Grails中的REST風格的Web服務
- 5. CakePHP中的REST風格的Web服務
- 6. GWT + Spring MVC(REST風格的Web服務)
- 7. 實現REST風格的Web服務
- 8. TomEE與Jersey REST風格的Web服務
- 9. REST風格的Web服務發佈API
- 10. REST風格的Web服務GET文件
- 11. 設置REST風格的Web服務
- 12. 什麼是REST風格的Web服務
- 13. REST風格的Web服務和RESTful API
- 14. jquery REST風格的Web服務
- 15. 關於REST風格的Web服務
- 16. REST風格的web服務代理類
- 17. ASP.NET REST風格的Web服務
- 18. JAXWS風格的Web服務客戶端jar不工作在一個webapp
- 19. 需要推薦Linux上的REST風格的Web服務
- 20. TIBCO BW6.3和Swagger UI工具上的REST風格的Web服務
- 21. Google App Engine上的REST風格的Web服務
- 22. 在互聯網上發佈我的REST風格的Web服務
- 23. 在REST風格的Web服務中公開服務
- 24. 惠普服務管理器REST風格的Web服務查詢
- 25. SSIS ETL vs REST風格的Web服務vs服務總線
- 26. 使用XMPP服務器設計REST風格的Web服務
- 27. 無法在REST風格的Web服務上捕獲請求
- 28. REST風格的服務:在客戶端自動生成實體
- 29. jaxws web服務。更改節點結構
- 30. REST風格的Web服務時間值問題
所以,這正是我最初的想法。謝謝! – yuranos87