第一步,肯定是导入cxf相关的jar包,自行去pom.xml里面添加依赖吧,因为我的项目他们已经搭好环境了,而且就是jar包引入的,没用maven。
第二布,配置web.xml,因为需要在项目启动时就加载
第三步,编写接口和实现类
实现类也很简单,就是一个简单的查询,然后将查询结果用GSON转成JSON字符串,然后封装在ResponseModel中
public class QueryAppInfoImpl implements IQueryAppInfo {
@Autowired
private IPrResourceDao resourceDao;
@Override
public ResponseModel queryAppsShowInUbop() {
Gson gson = new Gson();
ResponseModel result =new ResponseModel();
String retMsg="SUCCESS";
String retCode="1";
String retData="";
StringBuilder sb =new StringBuilder();
sb.append("SELECT * FROM pr_resource");
sb.append(" WHERE pr_resource.pr_isUbop = '1' ");
try{
List<PrResource> list=this.resourceDao.executeQuery(sb.toString(), null, PrResource.class);
System.out.println(list.size());
if(CollectionUtils.isNotEmpty(list)){
List<Map<String,String>> list1=new ArrayList<Map<String,String>>();
for (PrResource prResource : list) {
Map<String,String> map =new HashMap<String,String>();
map.put("appName", prResource.getPrName());
map.put("appAddr", prResource.getPrAddress());
list1.add(map);
}
retData=gson.toJson(list1);
}
}catch(Exception e){
e.printStackTrace();
retMsg="ERROR";
}
result.setRetCode(retCode);
result.setRetData(retData);
result.setRetMsg(retMsg);
return result;
}
}
@XmlRootElement(name = "RETURN") //该注解就是返回的JSON的根的KEY
public class ResponseModel {
private String retCode; //1、"0"成功;2、"1"错误(返回系统出错编码)
private String retMsg; //当retCode为"1"时,retMsg返回错误信息。
private String retData;
@XmlElement(name="RetCode") //返回JSON对象的子节点的KEY,后面的同理
public String getRetCode() {
return retCode;
}
public void setRetCode(String retCode) {
this.retCode = retCode;
}
@XmlElement(name="RetMsg")
public String getRetMsg() {
return retMsg;
}
public void setRetMsg(String retMsg) {
this.retMsg = retMsg;
}
@XmlElement(name="RetData")
public String getRetData() {
return retData;
}
public void setRetData(String retData) {
this.retData = retData;
}
}
第四步,编写配置文件发布接口
第五步,查看发布的接口,启动tomcat。然后在浏览器输入127.0.0.1:8080/idm/webservice
idm是我的项目名称,webservice则是在web.xml中配置好了的。
可以点击url查看详细的内容:
第六步,测试接口。我的用的是postman,也可以用SoapUI等等。谷歌浏览器可以直接装一个postman的插件测试。
URL: http://localhost:8080/idm/webservice/app/queryAppsShowInUbop
就是前面浏览器打开的XML文件中的resource base + resource path