步骤一:导包
<!-- 自己导入的包-->
<!-- CXF -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.1.4</version>
</dependency>
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.9.5</version>
<!-- <version>2.4.1</version>-->
</dependency>
<dependency>
<groupId>com.sun.jersey.samples</groupId>
<artifactId>jacksonjsonprovider</artifactId>
<version>1.18.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
步骤二:新建一个简单的dto
package wht.ora20796.dto;
import java.io.Serializable;
public class Ora20796CXF implements Serializable {
private String name;
private String passwd;
public Ora20796CXF() {
}
public Ora20796CXF(String name, String passwd) {
this.name = name;
this.passwd = passwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
}
步骤三:编写接口类
package wht.ora20796.service;
import com.hand.hap.system.dto.ResponseData;
import wht.ora20796.dto.Ora20796CXF;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import java.util.List;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
public interface IOra20796CXF {
@GET
@Path("/user")
@Produces(APPLICATION_JSON)
ResponseData retrieveAllUsers();
}
步骤四:接口实现类
package wht.ora20796.service.impl;
import com.hand.hap.system.dto.ResponseData;
import wht.ora20796.dto.Ora20796CXF;
import wht.ora20796.service.IOra20796CXF;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import java.util.ArrayList;
import java.util.List;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
public class Ora20796CXFImpl implements IOra20796CXF {
//https://blog.csdn.net/victor_cindy1/article/details/72868424
@GET
@Path("/user")
@Produces(APPLICATION_JSON)
@Override
public ResponseData retrieveAllUsers() {
ResponseData responseData=new ResponseData();
List<Ora20796CXF> list=new ArrayList<>();
Ora20796CXF ora20796CXF1=new Ora20796CXF("csz","123");
Ora20796CXF ora20796CXF2=new Ora20796CXF("test","testpd");
list.add(ora20796CXF1);
list.add(ora20796CXF2);
responseData.setMessage("成功");
responseData.setRows(list);
return responseData;
}
}
更改配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright Hand China Co.,Ltd.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd">
<!--<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd ">-->
<!--拦截器-->
<bean id="serverInInterceptor" class="wht.ora20796.security.SoapTestInterceptor"/>
<bean id="soapApiService" class="wht.ora20796.service.impl.Ora20796SoapApiServiceImpl"/>
<jaxws:endpoint id="soapTest" implementor="#soapApiService" address="/SoapApiService">
<jaxws:inInterceptors>
<ref bean="serverInInterceptor"></ref>
</jaxws:inInterceptors>
</jaxws:endpoint>
<!--经销商-->
<bean id="vendorApiService" class="wht.ora20796.service.impl.SoapVendorServiceImpl"/>
<jaxws:endpoint id="soapVendor" implementor="#vendorApiService" address="/VendorApiService">
</jaxws:endpoint>
<bean id="cxfRest" class="wht.ora20796.service.impl.Ora20796CXFImpl"/>
<jaxrs:server address="/rest">
<jaxrs:serviceBeans>
<ref bean="cxfRest"/>
</jaxrs:serviceBeans>
<!-- <jaxrs:providers>
<bean class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider"/>
</jaxrs:providers>-->
<jaxrs:providers>
<bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
</jaxrs:providers>
</jaxrs:server>
</beans>
效果:
image.png
image.png
附上成飞兄的post
image.png
image.png
image.png