加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Spring Boot与Apache CXF for RESTful Web Services?

发布时间:2020-12-14 05:07:26 所属栏目:Java 来源:网络整理
导读:我是编码竞赛的一部分,任务是创建一个RESTful在线市场,用户可以通过http发布购买和出售请求. 我需要构建一个接收和存储这些请求的前端Web服务. 技术要求包括弹簧启动和CXF.据我所知,CXF和Spring引导都能够接受http请求. 在spring boot中,你使用一个控制器,如
我是编码竞赛的一部分,任务是创建一个RESTful在线市场,用户可以通过http发布购买和出售请求.

我需要构建一个接收和存储这些请求的前端Web服务.

技术要求包括弹簧启动和CXF.据我所知,CXF和Spring引导都能够接受http请求.

在spring boot中,你使用一个控制器,如:

@Controller
@EnableAutoConfiguration
public class controller {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello,World!";
    }
}

而使用CXF(使用javax.ws.rs),代码可能如下所示:

@WebService(serviceName = "MarketService",targetNamespace = "http://localhost:9005")
@Consumes({ MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON })
public interface MarketService {

    @GET
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    @Produces({ MediaType.APPLICATION_JSON })
    @Path("/sells/{id}")
    public prod getProduct(@PathParam("id") int id);

有人可以帮助我了解这两种处理http请求的方法的根本区别吗?有没有办法在同一个应用程序中同时使用Spring Boot和CXF?

解决方法

Spring MVC和Apache CXF是两个单独的框架来处理HTTP请求,可用于构建REST Web服务.

> Spring MVC是Spring下的一个项目“雨伞”(因此与Spring框架紧密结合在一起),
> Apache CXF是JAX-RS(REST)和JAX-WS(SOAP)的开源实现. Apache CXF可以独立运行,也可以包含在Spring应用程序中.

如果您正在构建一个REST Web服务,那么它们是相互排斥的(你必须选择一个).如果你要做的就是构建REST Web服务,那么它们几乎相当.如果您还需要一个MVC框架来提供HTML页面,那么Spring MVC具有该功能(CXF不支持).

个人意见:比起CXF(需要更多的XML配置),Spring MVC更容易入门(感谢Spring Boot处理大部分配置).

PS:在您的CXF示例中,您有一个@WebService注释.此注释是JAX-WS(SOAP)的一部分,而不是JAX-RS(REST).你可能不需要它

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读