CXF实战之RESTFul服务(七)

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

JAX-RS概述

JAX-RS是Java提供用于开发RESTful Web服务基于注解(annotation)的API。JAX-RS旨在定义一个统一的规范,使得Java程序员可以使用一套固定的接口来开发REST应用,避免了依赖第三方框架。同时JAX-RS使用POJO编程模型和基于注解的配置并集成JAXB,可以有效缩短REST应用的开发周期。JAX-RS只定义RESTful API,具体实现由第三方提供,如Jersey、Apache CXF等。

JAX-RS包含近五十多个接口、注解和抽象类:

  • javax.ws.rs包含用于创建RESTful服务资源的高层次(High-level)接 口和注解。
  • javax.ws.rs.core包含用于创建RESTful服务资源的低层次(Low-level)接口和注解。
  • javax.ws.rs.ext包含用于扩展JAX-RS API支持类型的APIs。

JAX-RS常用注解:

  • @Path:标注资源类或方法的相对路径。
  • @GET、@PUT、@POST、@DELETE:标注方法的HTTP请求类型。
  • @Produces:标注返回的MIME媒体类型。
  • @Consumes:标注可接受请求的MIME媒体类型。
  • @PathParam、@QueryParam、@HeaderParam、@CookieParam、@MatrixParam、@FormParam:标注方法的参数来自于HTTP请求的位置。@PathParam来自于URL的路径,@QueryParam来自于URL的查询参数,@HeaderParam来自于HTTP请求的头信息,@CookieParam来自于HTTP请求的Cookie。

服务端

下面用CXF发布一个图书馆RESTFul服务,实现书籍的查询、添加、删除和修改。CXF发布RESTFul服务需要引入cxf-rt-frontend-jaxrs,pom.xml配置如下。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.rvho</groupId>
    <artifactId>cxfrestserver</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <properties>
        <!-- CXF版本 -->
        <cxf.version>3.1.1</cxf.version>
    </properties>

    <dependencies>
        <!-- CXF -->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <!-- 如果在tomcat或者其他servlet容器中发布服务,不需要引用cxf-rt-transports-http-jetty -->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http-jetty</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <!-- End CXF -->
    </dependencies>
</project>

书籍XML格式

<Book>
    <author>尼古拉·奥斯特洛夫斯基</author>
    <id>10</id>
    <name>钢铁是怎样炼成的?</name>
    <price>3.0</price>
</Book>

书籍实体类

package com.rvho.rest.server;

import javax.xml.bind.annotation.XmlRootElement;

/**
 * 书籍实体类
 * @author accountwcx@qq.com
 */
@XmlRootElement(name = "Book")
public class Book {
   
   
    //id
    private String id;

    //书名
    private String name;
    //作者
    private String author;
    //价格
    private Double price;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAuthor() {
        return author;
    }
    public void setAuthor(String author) {
        this
CXF发布restful接口 其实发布一个webService接口,除了soap技术,cxf结合spring开发restful接口是很方便的,十分钟就可以搞定。 话不多说,步骤: 阅读详情

相关推荐

CXF服务接口(RESTful风格)设计中的注解(Annotation)

在应用CXF框架的过程中有很多种注解(Annotation),它们有的放在接口的开头,有的放在方法的开头,还有的放在参数列表中。 下面分别来说说怎么使用它们。 1. 参数列表中的注解 1.1. @PathParam 这种注解是负责捕获URL路径中的参数值。例如: http://host:port/your-service/{path-param-1}/{path-param-2} 同时

2927

使用CXF暴露您的REST服务

使用CXF暴露您的REST服务 简单的例子,完整的配置过程

Apache CXF实战之三 构建RESTful风格 Web Service

这篇文章介绍一下怎么通过CXF来发布RESTful的Web Service. 首先我们要知道apache cxf是一种开源 Web 服务框架。jax-rsjax-ws是两种webservice风格。 1. 首先是实体类,注意其中的@XmlRootElement注解 package com.jing.cxf.vo; import java.util.Date; import

jingqiang521的专栏 1583

使用CXF开发RESTFul服务

使用CXF开发RESTFul服务 在各个系统交互领域,Web services逐渐成为主流。有两种主要方式来开发Web Services:Simple Object Access Protocol (SOAP)和Representational State Transfer (REST)   开发基于SOAP的Web Services需要很多的约束, 以便客户端和服务端交互信息,例如,使用W

rockiecxh的专栏 1万+

CXF restful 请求过程分析

最近(5年前写的未发布)在做CXF restful 风格接口,为了更好的集成框架,所以分析下cxf请求过程,在此记录下,   首先从org.apache.cxf.transport.servlet.CXFServlet作为入口来解析请求过程     从父类AbstractHTTPServlet的service方法开始进入   @Override public void s...

strivezxq的专栏 1160

Apache CXF框架实现RESTFul服务开发指南

Apache CXF是一个开源的服务框架,提供用于构建和开发Web服务的完整工具集,包括RESTful API和SOAP服务。其设计哲学是简化企业服务架构的集成和开发,支持多种传输协议和数据格式,并与主流的Java EE服务器无缝集成。CXF源自两个项目: Celtix和 XFire。Celtix是由Iona Technologies发起的,致力于实现企业服务总线(ESB);而XFire是由Codehaus开发的轻量级、易于使用的SOAP框架。

weixin_35266799的博客 878

CXF webservice之手动启动服务方法(restful

你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。我特地针对初学者整理一套前端学习资料分享给大家,戳这里即可获取,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难。

2401_83817843的博客 1054

cxf restful_使用Apache CXF开发RESTful服务

cxf restful 介绍 如您所知,有两种开发Web服务的方法 简单对象访问协议(SOAP) 代表性状态转移(REST) 在继续学习如何使用Apache CXF创建基于REST的Web服务之前,我们将了解什么是REST。 REST不是一种技术,当然也不是某种标准。 它只是一种架构风格,它限制了如何以某种方式编写Web服务。 这种样式是由某个Roy Fielding定义的(您...

最佳 Java 编程 561

Apache CXF实践RESTful Web服务构建指南

RESTful Web服务,即符合REST架构风格的Web服务,是基于HTTP协议的一种服务架构。它使用HTTP的标准方法如GET, POST, PUT, DELETE来实现CRUD(创建、读取、更新、删除)操作,而无需使用SOAP等复杂的通信协议。Apache CXF是一个开源的、功能全面的服务框架,它支持SOAP和RESTful风格的Web服务。它提供了一种便捷的方式来开发服务端和客户端的应用程序,并且支持多种传输协议。

weixin_42311427的博客 1064

利用Apache CXF实现SOAP与RESTful Web服务接口的并存

CXF是一个用于构建和开发服务的优秀框架,特别是Web服务。它基于标准,支持多种传输协议和数据绑定,使得开发者能够创建松耦合的服务,促进服务的再利用。SOAP(Simple Object Access Protocol)是一种轻量级的、基于XML的协议,用于在分布式环境下交换信息。SOAP协议使用HTTP作为传输层协议,但本质上是独立于传输层的。其工作原理可以概括为:消息封装:SOAP定义了一种格式,用于封装信息,并通过HTTP等协议发送。请求/响应模型。

weixin_35749440的博客 779

Java Web Service-CXF -基于Restful的Web服务

Java Web Service-CXF -基于Restful的Web服务 sf2gis@163.com 2015年11月13日   1 目标:简单的Web服务访问协议。 2 原理:将Http请求转化为Web服务。 3 流程: 3.1 创建DynamicWeb Project。 3.2 安装CXF库(自带Spring库):下载CXF,解压后将lib下所有内容copy到we

弗里曼的小伙伴 1724

使用Apache CXF开发RESTful服务

介绍 如您所知,有两种开发Web服务的方法 简单对象访问协议(SOAP) 代表性状态转移(REST) 在继续学习如何使用Apache CXF创建基于REST的Web服务之前,我们将了解什么是REST。 REST不是一项技术,当然也不是某种标准。 这只是一种架构风格,它限制了如何以某种方式编写Web服务。 此样式由某个Roy Fielding(您猜对了,是的,他是HTTP的架构...

最佳 Java 编程 523

CXF+Spring搭建Restful接口服务

之前项目中用CXF+Spring可以搭建WebService服务,后面发现cxf可以支持Restful规范的接口。于是,在接下去的练手项目中,打算用cxf+spring来搭建一个Restful接口服务

黄自豪的笔记本 1016

使用CXF Web服务手动启动RESTful服务

在上面的代码中,我们创建了一个JAXRSServerFactoryBean对象,并通过setResourceClasses方法设置了我们的RESTful服务类。在上面的代码中,我们创建了一个名为HelloService的类,并使用@Path注解指定了服务的URL路径为"/hello"。在该类中,我们定义了一个使用@GET注解的方法,用于处理GET请求,并使用@Produces注解指定了响应的媒体类型为"text/plain"。在本文中,我们将讨论如何使用CXF手动启动一个RESTful服务

JipForth的博客 173

CXF Restful 服务端编程

Apache CXF 是一个开源的 Services 框架,继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持。本篇博客主要描述了Restful Service的基础知识, 归纳了JAX-RS对于资源的定义以及标签的使用

erwinwfeqwdsa的博客 472

JAX-RS CXF与Spring集成的RESTful Web服务实践指南

在现代的Web开发领域,JAX-RS(Java API for RESTful Web Services)作为Java EE的一部分,提供了创建RESTful服务的标准。它使得开发者能够以简单、高效的方式构建基于HTTP协议的服务,并遵循REST架构风格,实现资源的表述和状态的转移。REST架构风格强调的无状态通信、缓存处理以及客户端与服务端的明确分离,已成为构建互联网应用的事实标准。

weixin_42602368的博客 966

CXF与Spring集成实现RESTful WebService接口并以JSON格式输出

Apache CXF 是一个开源的全功能的服务框架,它提供了强大的服务开发和部署工具。CXF 的主要特点包括:面向服务的编程模型:CXF 使用 JAX-WS (Java API for XML Web Services)JAX-RS (Java API for RESTful Web Services) 来创建和发布 web 服务。多种协议支持:支持SOAP, RESTful, XML/HTTP, JSON等协议和数据绑定。集成Spring框架。

weixin_29476595的博客 789

Apache-cxf搭建Restful风格WebServcie

目录 1.Restful风格介绍 1.1传统的请求 1.2基于restful风格的请求: 1.3注意事项 1.4风格约定: 2.常用的restful框架 3.Apache-cxf框架 3.1项目架构图 3.2pom.xml 3.3服务端接口 3.4发布服务 3.5客户端 1.Restful风格介绍 表现层状态转换(REST,英文:Representational Sta...

程序猿劝退师的博客 830
上一篇: CXF实战之传输文件(六)
下一篇: CXF实战之WS-Security(八)
死神的丧钟
博客等级 码龄18年 145粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值