栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

javax.ws.rs

jsr311-api

1.1.1

org.apache.cxf

cxf-rt-frontend-jaxws

3.1.4

org.apache.cxf

cxf-rt-transports-http

3.1.4

org.apache.cxf

cxf-rt-transports-http-jetty

3.1.4

org.apache.cxf

cxf-rt-frontend-jaxrs

3.1.4

org.codehaus.jettison

jettison

1.3

org.codehaus.jackson

jackson-jaxrs

1.9.8

第三步:服务器端实现:Service.class

@Path(“/baoxian”)

@Produces({ MediaType.APPLICATION_JSON })

public class BaoXianService {

private final static Log logger = LogFactory.getLog(BaoXianService.class);

@GET

@Path(“/before/{vincode}”)

public String getinfo(@PathParam(“vincode”) String vincode,

@QueryParam(“name”) String name) {

System.out.println(vincode);

String ret = “my name is :” + name;

return ret;

}

@POST

@Path(“/post/query”)

@Consumes({ “application/json”, “application/xml” })

pub 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 lic String Before_query(String bx) throws Exception {

System.err.println(bx);

return bx;

}

}

下面提供了两种最基本的GET和POSt方法,目的是为了测试数据的传递;需要扩展的自行添加;

第四步:手动启动服务类:

public class Server {

public static void main(String[] args) {

//String address = PropertyUtil.getProperties(“ADDRESS”);

//BaoXianService bxservice = new BaoXianService();

// Service instance

String address = “http://localhost:8080/rest”;//端口号和端口号后面的是可以自定义的;但是要与客户端请求的地址对应;否则不会识别,无法访问

JAXRSServerFactoryBean restServer = new JAXRSServerFactoryBean();

restServer.setResourceClasses(Detail.class);

restServer.getInInterceptors().add(new IpAddressInInterceptor());//自定义的拦截器

restServer.setServiceBean(bxservice);

restServer.setAddress(address);

restServer.create();

}

服务启动成功:

第五步:客户端测试:

static String baseAddress = “localhost:8080/rest”;//与启动类的地址相同

public static void main(String[] args) {

String data = “{“name”:“zhangsan”}”;

WebClient webclient = WebClient.create(baseAddress);

webclient.path(“post/query”)

.accept(MediaType.APPLICATION_JSON)

.type(MediaType.APPLICATION_JSON);

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/839520.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号