轻易云用友NCC产品API集成专题

open api简介

Open API即开放API,也称开放平台。 所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,所开放的API就被称作OpenAPI(开放API)。

就现在互联网上Open API的形态来看,主要分成两种:标准REST和类REST(也可以叫做RPC形态)。

REST形态主要有这么几点特点:

  • 1.服务地址就是资源定位地址。
  • 2.服务操作就是Http请求中的方法类型(GET,POST,DELETE,PUT),这其实是抽象现实当中对于服务的增删改查操作。

UAP实现open api

Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。

UAP在Restlet框架之上,选择了官方JAX-RS扩展,并且在扩展的基础上与NC进行了集成。

主要jar包 modules/uapws/pubuapfw_restframeworkLevel-1.jar

NC使用Restlet框架需要修改nchome/hotwebs/nccloud/WEB-INF/web.xml文件。增加以下两个配置



业务组open api开发步骤

  1. 创建资源

    创建资源类xxResource 继承AbstractNCCRestResource

    通过注解的方式开发,restlet通用注解包含如下:

    在ncc中要求rest请求类型只能是post



资源创建完成之后即可进入轻易云系统数据集成平台添加对应的专属连接器进行系统对接。

  1. 资源注册

    和upm文件类似,创建的资源需要在配置文件中进行注册。注册方式:在META-INF下创建.rest文件,将创建的资源全限定类名注册到.rest文件中。



注:和upm文件一样,此文件在运行时必须包含在nchome/modules/XX/META-INF下

3.编写md文档(api使用说明)

  1. 在openapi组件下META-INF同级目录下创建hotwebs文件夹。

  2. 在hotwebs文件夹下按照nccloud/resources/api/modules/模块/组件/帮助文档.md的目录结构创建帮助文档文件

  3. 在注册openpi的时候,需要填写访问路径和文档路径,文档路径需要从模块开始具体到md文件,例如:样例中的文档路径应该填写为 /aim/equip/equip.md

    4.预制api脚本

    1.在环境路径 http://ip:port/nccloud/resources/opm路径下注册api相关信息,包括:api所属模块,api所属实体,api访问路径,api帮助文档路径等。(具体操作和规范参见openapi配置中心使用文档)

    2.将注册的api脚本抽取出来作为预制脚本提交到盘里(注意脚本中的访问路径要和md文档中的访问路径一致;脚本中api帮助文档地址要和第三步文档路径一直)

open api 开发规范

  1. 资源包命名规范:ncc.openapi.模块.业务组件.业务操作

    示例:ncc.openapi.aum.borrow.apply(借用申请)

    2.资源类命名规范:业务组件+业务操作+Resources(驼峰命名)

    示例:BorrowApplyResources

    3.uri定义:nccloud/api/模块/业务组件/业务操作/动词

    (增:add;删除:delete;查询:query;修改:update (其他业务动词自定义))

    示例:http://ip:port/nccloud/api/aum/borrow/apply/query(查询借用申请)

  2. md文档语法规范:(md文档的名称不要重复)

    a. 文档名称用一号字【#】,一级目录用二号字【##】,三级目录使用三号字【###】以此类推。

    b. 请求地址前加【>】地址内容必须和注册的api脚本访问路径一致。格式:http://ip:port/apiUrl.(如:http://ip:port/nccloud/api/fip/service/add)

    c. 表格的格式:表头内容必须用【|】包起来,第二行必须跟上【|---|---|---|】表头有几列加几个。

    d. 请求参数和返回值参数的写法:如果是主子表格式的,在3.3中描述参数分类,如:head,body。分别在3.3.1和3.3.2中描述head和body的内容。如下图

    e.json示例:json示例以【请求参数json示例】和【返回值json示例】命名。用【```】包起来,内容必须是标准json格式的数据。

Openapi测试

Openapi测试参见openapi使用文档。通过轻易云的系统数据集成策略也可以进行在线的用友NCC API调用

用友NCC产品API使用指南的更多相关文章

  1. RESTFUL API 安全设计指南

    RESTFUL API 安全设计指南 xxlegend · 2015/10/18 15:08 0x01 REST API 简介 REST的全称是REpresentational State Trans ...

  2. Web API 入门指南 - 闲话安全

    Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...

  3. RESTful API 设计指南 (转)

    RESTful API 设计指南 2016-02-23 ImportNew (点击上方公号,可快速关注) 作者:阮一峰 链接:http://www.ruanyifeng.com/blog/2014/0 ...

  4. 来自HeroKu的HTTP API 设计指南(中文版)

    原文转自:http://get.jobdeer.com/343.get 来自HeroKu的HTTP API 设计指南(中文版) 翻译 by @Easy 简介 本指南中文翻译者为 @Easy ,他是国内 ...

  5. Web API入门指南(安全)转

    安全检测的工具站点:https://www.owasp.org/index.php/Category:Vulnerability_Scanning_Tools Web API入门指南有些朋友回复问了些 ...

  6. MTM量身定制系统 - 富友ERP产品 - 信息化推动服装行业管理软件升级

    MTM量身定制系统 - 富友ERP产品 - 信息化推动服装行业管理软件升级 国内第一款量体定制管理系统               结合富友软件10年服装行业经验和多家大型量身定制企业管理经验,推出的 ...

  7. 组件接口(API)设计指南-文件夹

    组件接口(API)设计指南-文件夹 组件接口(API)设计指南[1]-要考虑的问题 组件接口(API)设计指南[2]-类接口(class interface) 组件接口(API)设计指南[3]-托付( ...

  8. Web API 入门指南

    Web API 入门指南 - 闲话安全2013-09-21 18:56 by 微软互联网开发支持, 231 阅读, 3 评论, 收藏, 编辑 Web API入门指南有些朋友回复问了些安全方面的问题,安 ...

  9. XMLHttpRequest API 使用指南

    一.实例化 XMLHttpRequest 对象 使用 Ajax API 的第一件事情就是实例化 XMLHttpRequest 对象. var xhr = new XMLHttpRequest(); 二 ...

  10. RESTFul API设计指南及使用说明

    RESTFul API设计指南及使用说明 一. 协议 API与用户的通信协议,使用HTTP协议. 二. 域名 应尽量将API部署在专用域名之下(http://api.example.com) 也可以将 ...

随机推荐

  1. composer 的使用和常用命令大全

    composer 常用命令 1.composer初始化 init 如何手动创建 composer.json 文件.实际上还有一个 init 命令可以更容易的做到这一点. 查看当前版本composer ...

  2. filter() 函数的学习

    1.    filter() 函数 用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换.该接收两个参数, 第一个为函数,第二个为序列,序列的每个 ...

  3. [ABC128E] Roadwork

    2023-01-14 题目 题目传送门 翻译 翻译 难度&重要性(1~10):4 题目来源 AtCoder 题目算法 区间覆盖,线段树,双堆 解题思路 可以将问题转化为区间覆盖问题和单点查询问 ...

  4. 【路由器】小米 WR30U 解锁并刷机

    本文主要记录个人对小米 WR30U 路由器的解锁和刷机过程,整体步骤与 一般安装流程 类似,但是由于 WR30U 的解锁 ssh 和刷机的过程中有一些细节需要注意,因此记录一下 解锁 ssh 环境准备 ...

  5. Mybatis-plus SQL效率插件PerformanceInterceptor无效->替换为p6spy

    使用mybatis-plus时,需要加入执行的sql分析 发现mybatis-plus中的PerformanceInterceptor无效了 查了信息发现 3.2.0 版本之后把这个功能可剔除了 可同 ...

  6. AI绘画:Stable Diffusion 终极炼丹宝典:从入门到精通

    本文收集于教程合集:AIGC从入门到精通教程汇总 我是小梦,以浅显易懂的方式,与大家分享那些实实在在可行之宝藏. 历经耗时数十个小时,总算将这份Stable Diffusion的使用教程整理妥当. 从 ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (82)-- 算法导论8.1 1题

    一.如果用go语言,在一棵比较排序算法的决策树中,一个叶结点可能的最小深度是多少? 文心一言: 在一个排序决策树(如二叉搜索树)中,每个叶节点的最小深度等于输入数据中最大元素与最小元素之间的位距离.这 ...

  8. crypto 加解密库简介与测试【GO 常用的库】

    〇.前言 GO 语言的标准库 crypto 提供了一组用于加密和解密的包,包括对称加密.哈希函数.数字签名.随机数生成等功能.在日常开发中,通过使用这些库,可以确保数据的安全性和完整性. 对于使用频率 ...

  9. java正则表达式过滤工具类

    正则表达式过滤工具类 import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Description : * @D ...

  10. SQL Server查询数据库中的表

    SQL Server查询数据库中的表 SSMS中用不了MySQL中的show 查询当前数据库中所有表名: SELECT name FROM sysobjects WHERE (xtype = 'U') ...