• 普元EOS7.5生成RestFul接口服务


    目的

    由于官方文档有些地方不够详细,在根据文档做的时候走了一些弯路,因此做个记录以避免再次踩坑,如需直接查官方文档请跳转至文章末尾。

    实现步骤:

    1、创建项目,导入包,这两个jar在EOS7.5的应用WEB-INFlib目录下都可以找到

    创建一个构建包

    2、打开当前项目下的web.xml,可以看到resteasyservlet的servlet-mapping中对应的url路径是/rest/services/*,即说明当访问路径是rest/services/下的地址才能访问到我们的restful接口(注意是带‘s’的services,当时就是因为这个一直报错找到不到资源)

    3、创建一个数据实体,作为返回参数使用

    4、创建一个class,添加下列注解和代码,配置接口访问的入口,需要注意的是Path中的路径必须是与web.xml中resteasyservlet配置的相同,否则将无法访问到接口,此处我们配置在/rest/services下

    package com.eos.restful.service;
    
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.PathParam;
    import javax.ws.rs.Produces;
    
    import com.eos.foundation.data.DataObjectUtil;
    import commonj.sdo.DataObject;
    
    // Path中的前缀路径必须与web.xml中resteasyservlet配置的相同
    @Path("/rest/services/RoleService")
    @Produces({"application/json"})
    public class RoleService {
    	@GET
    	@Path("/getRoleById/{roleId}")
    	public DataObject getRoleById(@PathParam("roleId") String roleId) {
    		DataObject role = DataObjectUtil.createDataObject("com.eos.restful.dataset.CapRole");
    		role.set("roleId", roleId);
    		role.set("roleName", "试着奔跑的菜鸟");
    		return role;
    	}
    }
    

    5、在编辑的java同目录下创建文件restconfig.properties并录入以下内容(等号后是对应的配置类全限定名称)

    resteasy.resources=com.eos.restful.service.RoleService

    如果有多个REST服务类,以英文逗号","分开(可參考普元官方文档

    6、编辑web.xml文件,在rest.config.locations下的param-value标签下新增restconfig.properties对应路径,需要增加英文逗号与已有内容分开,保存编辑后需要右键web.xml文件进行部署。

    7、启动服务器,访问http://127.0.0.1:8080/default/rest/services/RoleService/getRoleById/123

    注意事项:

    1.修改了web.xml要手动部署web.xml
    2.web.xml中的servlet-mapping下的url-pattern要和配置访问的地址对应

    参考链接:

    普元官方文档-EOS7.5中REST服务的开发及调用

    才疏学浅,如文中有错误,感谢大家指出。

  • 相关阅读:
    docker怎么修改之前run时的env
    yum安装mysql
    springboot服务的Dockerfile
    openssh升级到8.4
    rpm与yum执行无反应
    ubuntn离线安装docker-ce
    centos7部署docker
    解决5版本的elasticsearch-head连接6版本的elasticsearch查询不到数据问题
    docker搭建elasticsearch:7.6.2并开启x-pack
    原生js 实现图片的拖拽缩放
  • 原文地址:https://www.cnblogs.com/runningRookie/p/14348226.html
Copyright © 2020-2023  润新知