NC65实现Restful接口开发及调试

前言

NC65中除了支持SOAP协议的webservice接口外,还支持REST协议的接口,NC65的REST服务封装的是restlet,找了很多资料终于弄清楚了,这里总结归纳一下。

一、接口注册方法

在模块的META-INF文件夹下,增加.rest扩展名的接口文件,内容为xml格式;开发项目中也是在项目对应的META-INF下,增加对应的接口文件。参考脚本如下:

二、服务代码编写

1. 在对应的目录结构下,添加相关的接口处理服务类

代码如下(示例):

package nc.rest.bd.oa;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

import nc.bs.framework.common.NCLocator;
import nc.bs.framework.server.ISecurityTokenCallback;
import nc.itf.bd.sql.IOracleUtil;
import nc.vo.oa.util.UserCheckUtil;
import nc.vo.pub.BusinessException;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;

import uap.ws.rest.resource.AbstractUAPRestResource;


@Path("/FwOaQueryServer")
public class FwOaQueryRestFulServer extends AbstractUAPRestResource {

    public String getModule() {
        return "uapbd";
    }
 
    @POST
    @Path("/querySql") //路径
    @Consumes("application/json") //输入参数格式
    @Produces("application/json") //输出参数格式
    public JSONObject dealQuerySql(JSONObject tranSportJson) throws BusinessException {
        return resultJson;
    }
}

2.部署和测试

将上面的代码导出补丁,部署到模块(进入Home里bin目录下SysConfig.bat,重新部署。如果补丁修改的文件是在client目录下不需要重新部署,如果是在public跟private目录下则需要重新部署),重启中间件。

Postman测试时,测试URL设置为:http://ip:port/uapws/rest/xxx/xxx,其中xxx/xxx为代码中的类声明中的Path和方法中的Path,uapws/rest/为固定的NC65中的REST服务访问路径。Postman中设置请求方式为“POST”,请求HEAD参数Content-Type为application/json即可。

NC65实现Restful接口开发及调试_第1张图片

总结

 注意:调试的时候,需要配置自变量,即添加uapws模块(已添加的忽略),不然调试没反应,我看了网上很多资料都没有说这一点,毕竟还是大多数人都是不熟悉这些东西的。配置如图:

NC65实现Restful接口开发及调试_第2张图片

你可能感兴趣的:(ide,restful)