前一段时间,我在其中一个项目中发现了一些球衣根(@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