用友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) 也可以将 ...
随机推荐
- MIT6.s081/6.828 lectrue4:page tables 以及 Lab3 心得
不管是计算机组成还是操作系统,虚拟内存都是其中的重要内容,所以这一节我会结合 CSAPP 第九章:虚拟内存 来一起复习(顺便一说,CSAPP 这一节的 lab 是要求设计一个内存分配器,也是很有意思的 ...
- Elasticsearch 保姆级入门篇
Elasticsearch 是一个分布式的.面向生产规模工作负载优化的搜索引擎. Kibana 可以将 Elasticsearch 中的数据转化为直观的图表.图形和仪表盘. 这篇文章,您将学习本地安装 ...
- [ABC151E] Max-Min Sums
2023-03-11 题目 题目传送门 翻译 翻译 难度&重要性(1~10):5 题目来源 AtCoder 题目算法 数学 解题思路 对于一个正数 \(x,x\in A\) 一定会有 \(C_ ...
- 扩展ABP的Webhook功能,推送数据到第三方接口(企业微信群、钉钉群等)
前言 在上一篇文章[基于ASP.NET ZERO,开发SaaS版供应链管理系统]中有提到对Webhook功能的扩展改造,本文详细介绍一下具体过程. Webhook功能操作说明,请参见此文档链接:Web ...
- KRPano插件解密大师更新支持最新版KRPano的XML/JS解密
KRPano插件解密大师是一款专业的全景解密工具,它可以帮助你轻松解密KRPano的XML/JS插件,还能分析下载静态和动态网站的资源.你无需任何编程知识,只需一键点击,就能快速完成解密,学习全景开发 ...
- 面试官:说一下 MyBatis 缓存机制?
MyBatis 的缓存机制属于本地缓存,适用于单机系统,它的作用是减少数据库的查询次数,提高系统性能. MyBaits 中包含两级本地缓存: 一级缓存:SqlSession 级别的,是 MyBatis ...
- Spring Event 观察者模式, 业务解耦神器
观察者模式在实际开发过程中是非常常见的一种设计模式. Spring Event的原理就是观察者模式,只不过有Spring的加持,让我们更加方便的使用这一设计模式. 一.什么是观察者模式 概念: 观察者 ...
- Tomcat--文件上传--文件包含--(CVE-2017-12615)&&(CVE-2020-1938)
Tomcat--文件上传--文件包含--(CVE-2017-12615)&&(CVE-2020-1938) 复现环境 采用Vulfocus靶场环境进行复现,搭建操作和文章参考具体搭建教 ...
- .NET周刊【9月第4期 2023-09-24】
国内文章 有趣的"可扩展近似计数"算法 https://zhuanlan.zhihu.com/p/656817283 在编程的世界里看见数学的身影,会让我充满好奇和兴奋.这不,在一 ...
- 可视化-vscode使用Plotly,绘制直方图
Plotly 是一款用来做数据分析和可视化的在线平台,功能非常强大,可以在线绘制很多图形比如条形图.散点图.饼图.直方图等等. 概述: plotly在python中绘图使用分三种:1.plotly.g ...