轻易云用友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. quarkus依赖注入之八:装饰器(Decorator)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<quarkus依赖注入> ...

  2. JS中文件相关的知识(一):MIME类型

    不知道有没有同学和我一样,写代码时一遇到文件操作就犯怵,必须要先去把知识补一遍再说:对于Content-Type.responseType.ArrayBuffer.buffer.blob.file等这 ...

  3. 文心一言 VS 讯飞星火 VS chatgpt (78)-- 算法导论7.4 2题

    二.如果用go语言,证明:在最好情况下,快速排序的运行时间为 Ω(nlgn). 文心一言: 在最好情况下,快速排序的运行时间为Ω(nlgn)的证明如下: 快速排序是一种分治算法,它将一个数组分成两个子 ...

  4. 《小白WEB安全入门》01. 扫盲篇

    @ 目录 基础知识 什么是WEB 什么是前端 什么是后端 什么是数据库 什么是协议 什么是WEB安全 什么是服务器 什么是IP地址.端口 什么是局域网.广域网.内网.外网 什么是URL 什么是MAC地 ...

  5. 【升职加薪秘籍】我在服务监控方面的实践(8)-elasticsearch 性能监控与分析手段

    大家好,我是蓝胖子,之前讲了mysql,redis中间件的监控,今天我们再来看看另一个基础组件elasticsearch,如何对它进行监控,当你思考如何对一个组件进行监控时,四大黄金指标会告诉你答案, ...

  6. pycurl库使用详解

    要使用pycurl库 要初始化一个curl对象 c = pycurl.Curl() 设置选项 c.setopt

  7. SQL简单使用指南

    SQL简单使用指南 SQL(结构化查询语言)是一种用于管理和操作关系型数据库的标准化语言. 数据库概述 数据库是用于存储和组织数据的结构.它由表(表格)组成,每个表都包含多个列和行.以下是SQL中最常 ...

  8. Web攻防--Java_SQL注入--XXE注入-- SSTI模板注入--SPEL表达式注入

    预编译 编译器在编译sql语句时,会依次进行词法分析.语法分析.语义分析等操作, 预编译技术会让数据库跳过编译阶段,也就无法就进行词法分析,关键字不会被拆开,注入语句也就不会被识别为SQL的关键字,从 ...

  9. Golang日志新选择:slog

    go1.21中,slog这一被Go语言团队精心设计的结构化日志包正式落地,本文将带领读者上手slog,体会其与传统log的差异. WHY 在日志处理上,我们从前使用的log包缺乏结构化的输出,导致信息 ...

  10. http、socket以及websocket的区别(websocket使用举例)

    一.http.socket.websocket介绍 1.HTTP(Hypertext Transfer Protocol):HTTP是一种应用层协议,用于在客户端和服务器之间传输超文本数据.它是基于请 ...