对接NCC
rest接口规范
-
两个不同系统之间的交互,通常时通过
URL
定位符去发送请求去调用按照另一系统规范完成的接口,就比如NCC的rest接口的开发是通过继承AbstractUAPRestResource
抽象类,并重写其中的getModule
方法。public abstract class AbstractUAPRestResource extends ServerResource implements IUAPRestResource { public AbstractUAPRestResource() { } //方法用来返回模块名 public abstract String getModule(); }
在继承后还需要使用注解去配置接口请求路径,通常是通过
@Path
注解来注解方法,调用时的路径例如http://ip:prot/uapws/rest/...
@POST @Path("insert") @Produces("application/json") @Consumes("application/json") public JSONString reqJSON(JSONString JSON)
再例如泛微E_cology对于外部接口的规范,就需要特别注意接口类的全包名需要再
com.api
路径下,调用的路径为http://ip:port/api/...
package com.api.prj.impl; import com.alibaba.fastjson.JSON; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; /** * @author Sleep * @Create 2023/8/24 9:29 * @Note */ @Path("JerseyRest") public class WeaverJerseyRestImplTest { @POST @Path("post") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public String toPost(@Context HttpServletRequest request, @Context HttpServletResponse response){ return JSON.toJSONString("testPOST"); } @GET @Path