用友NCC产品API使用指南
轻易云用友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开发步骤
- 创建资源
创建资源类xxResource 继承AbstractNCCRestResource
通过注解的方式开发,restlet通用注解包含如下:
在ncc中要求rest请求类型只能是post


资源创建完成之后即可进入轻易云系统数据集成平台添加对应的专属连接器进行系统对接。
- 资源注册
和upm文件类似,创建的资源需要在配置文件中进行注册。注册方式:在META-INF下创建.rest文件,将创建的资源全限定类名注册到.rest文件中。


注:和upm文件一样,此文件在运行时必须包含在nchome/modules/XX/META-INF下
3.编写md文档(api使用说明)
在openapi组件下META-INF同级目录下创建hotwebs文件夹。

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

在注册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 开发规范
资源包命名规范: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(查询借用申请)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使用指南的更多相关文章
- RESTFUL API 安全设计指南
RESTFUL API 安全设计指南 xxlegend · 2015/10/18 15:08 0x01 REST API 简介 REST的全称是REpresentational State Trans ...
- Web API 入门指南 - 闲话安全
Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...
- RESTful API 设计指南 (转)
RESTful API 设计指南 2016-02-23 ImportNew (点击上方公号,可快速关注) 作者:阮一峰 链接:http://www.ruanyifeng.com/blog/2014/0 ...
- 来自HeroKu的HTTP API 设计指南(中文版)
原文转自:http://get.jobdeer.com/343.get 来自HeroKu的HTTP API 设计指南(中文版) 翻译 by @Easy 简介 本指南中文翻译者为 @Easy ,他是国内 ...
- Web API入门指南(安全)转
安全检测的工具站点:https://www.owasp.org/index.php/Category:Vulnerability_Scanning_Tools Web API入门指南有些朋友回复问了些 ...
- MTM量身定制系统 - 富友ERP产品 - 信息化推动服装行业管理软件升级
MTM量身定制系统 - 富友ERP产品 - 信息化推动服装行业管理软件升级 国内第一款量体定制管理系统 结合富友软件10年服装行业经验和多家大型量身定制企业管理经验,推出的 ...
- 组件接口(API)设计指南-文件夹
组件接口(API)设计指南-文件夹 组件接口(API)设计指南[1]-要考虑的问题 组件接口(API)设计指南[2]-类接口(class interface) 组件接口(API)设计指南[3]-托付( ...
- Web API 入门指南
Web API 入门指南 - 闲话安全2013-09-21 18:56 by 微软互联网开发支持, 231 阅读, 3 评论, 收藏, 编辑 Web API入门指南有些朋友回复问了些安全方面的问题,安 ...
- XMLHttpRequest API 使用指南
一.实例化 XMLHttpRequest 对象 使用 Ajax API 的第一件事情就是实例化 XMLHttpRequest 对象. var xhr = new XMLHttpRequest(); 二 ...
- RESTFul API设计指南及使用说明
RESTFul API设计指南及使用说明 一. 协议 API与用户的通信协议,使用HTTP协议. 二. 域名 应尽量将API部署在专用域名之下(http://api.example.com) 也可以将 ...
随机推荐
- 配置DHCP
配置DHCP 条件:关闭防火墙 和selinux 1,安装dhcp服务 [root@localhost ~]#yum install dhcp -y#安装dhcp服务 2,查看配置文件 [root@l ...
- js面向对象编程,你需要知道这些
javascript中对象由key和value组成,key是标识符,value可以为任意类型 创建对象的方式 1.通过构造函数 var obj = new Object() obj.name = 'a ...
- JavaScript迭代协议
JavaScript迭代协议解读 迭代协议分为可迭代协议和迭代器协议. 协议指约定俗成的一系列规则. 可迭代协议 可迭代协议规定了怎么样算是一个可迭代对象:可迭代对象或其原型链上必须有一个键为[Sym ...
- 2023NepCTF-RE部分题解
2023NepCTF-RE部分题解 九龙拉棺 过反调试 很容易发现 void __stdcall sub_401700() 里面有tea的痕迹 接出来发现只是前半部分 #include <std ...
- 如何在达梦数据库中追踪慢SQL
在达梦数据库中,我们可以通过开启日志记录和设置最小执行时间来追踪慢SQL.下面是具体的步骤: 1. 修改dm.ini文件 使用以下命令编辑dm.ini文件: cd /home/dmdba/dmdbms ...
- P3378 【模板】二叉堆
[洛谷]P3378 [模板]堆 方法一 手写堆 最小堆插入 从新增的最后一个结点的父结点开始,用要插入元素向下过滤上层结点(相当于要插入的元素向上渗透) void siftdown(int i) // ...
- 在 Spring 6 中使用虚拟线程
一.简介 在这个简短的教程中,我们将了解如何在 Spring Boot 应用程序中利用虚拟线程的强大功能. 虚拟线程是Java 19 的预览功能,这意味着它们将在未来 12 个月内包含在官方 JDK ...
- 《SQL与数据库基础》22. 分库分表(二)
目录 分库分表(二) MyCat分片规则 范围分片 取模分片 一致性hash分片 枚举分片 应用指定算法 固定分片hash算法 字符串hash解析 按天分片 自然月分片 MyCat原理 MyCat管理 ...
- 初识Redis与桌面客户端
Redis介绍 什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库. Redi ...
- Pytest 框架执行用例流程浅谈
背景: 根据以下简单的代码示例,我们将从源码的角度分析其中的关键加载执行步骤,对pytest整体流程架构有个初步学习. 代码示例: import pytest def test_add(): asse ...