linux 调用rest接口,REST调用
1. 概述
与SOAP相比,REST WebService简化了调用,也降低了技能要求。
REST 近年来已经成为最主要的 Web 服务设计模式。 事实上,REST 对 Web 的影响非常大,由于其使用相当方便,已经普遍地取代了基于 SOAP 和 WSDL 的接口设计。
您可以不用知道REST是什么,按照我们的手册发起HTTP请求即可,只需遵从以下的基本原则
1 REST用URL来描述资源,如人员、部门、协同、公文。
2 使用HTTP协议的GET、POST、PUT和DELETE来描述资源的获取、创建、修改和删除。
请注意,所有的REST服务都必须传递通过验证服务获取的token,以下不再赘述。
1.1. 启用RESTFul web service
协同安装完成以后是不能直接使用RESTFul web service的,需要系统管理员登录系统,在信息集成配置 → REST用户管理模块中添加REST用户并启用该用户即可。
系统管理员创建REST用户后需要对REST用户进行资源授权,REST用户只能访问已经授权的资源。
1.2. 配置开发环境
启动服务,查看RESTFull web service服务的WADL:
http://ip:port/seeyon/rest/application.wadl
例如:http://127.0.0.1:8080/seeyon/rest/application.wadl
1.3. 验证服务
使用创建的REST用户访问RESTFul web service时首先要进行身份验证获取token,所有服务都必须提供合法的令牌ID方可调用。
为保证安全,验证服务必须使用POST方式,用户名和密码使用请求Body以JSON格式发送。
接口调用请求说明
http请求方式:POST
http://ip:port/seeyon/rest/token
原始的HTTP请求如下所示
POST http://127.0.0.1/seeyon/rest/token HTTP/1.1
Host: 127.0.0.1
Accept: application/json
Content-Type: application/json
{"userName":"rest","password":"123456"}
请求实例:
http://IP:port/seeyon/rest/token/{restusername}/{password}
参数说明
参数
是否必须
说明
userName
是
REST用户登录名
password
是
REST用户密码
返回说明
成功返回JSON字符串,失败返回-1。
成功:
{"id": "013a2a1e-a0b0-4f66-b533-da0563f89c6c"}
失败:
{"id": "-1"}
1.3.1. 验证服务增加设置当前登录人员(Since:V6.0)
验证服务服务接口可以绑定设置当前OA登录人员。
接口调用请求说明:
请求示例:
http://ip:port/seeyon/rest/token/{restusername}/{password}?loginName={loginName}
或
http://ip:port/seeyon/rest/token/{restusername}/{password}?memberCode={memberCode}
参数说明
参数
是否必须
说明
userName
是
REST用户登录名
password
是
REST用户密码
loginName
否
OA用户登录名
memberCode
否
OA用户编码,since 7.1
7.1之前loginName为必填;7.1之后loginName与memberCode任选一个参数即可。
返回说明
成功返回JSON字符串,失败返回 :找不到页面
成功:
{"bindingUser":"..."
"id": "013a2a1e-a0b0-4f66-b533-da0563f89c6c"}
失败:
{"id": "-1"}
1.4. 获取Token是否校验绑定IP(Since:V5.6)
新建REST 帐号时,通过是否勾选【获取Token是否校验IP】来设置在获取Token时,是否对当前请求的IP做校验。
参数说明
参数
是否勾选
说明
获取token是否校验绑定IP
勾选
获取token时校验IP,如果与【绑定IP】设置不同,无法获取token
获取token是否校验绑定IP
不勾选
不对请求IP做校验
1.5. 传递Token
除了验证服务,所有的REST调用时必须传递Token,如果不传递Token或传递错误的Token,将返回HttpStatus.SC_UNAUTHORIZED401错误及错误信息。
Token的生命周期为15分钟,如果15分钟无调用,Token将失效,失效以后调用返回401,提示“Invalid token,please authenticate again”。
Token的传递方式有两种:
1 在HTTP请求的header中,使用token属性
GET http://127.0.0.1/seeyon/rest/xxx HTTP/1.1
Host: 127.0.0.1
Accept: application/json
Content-Type: application/json;charset=UTF-8
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36
Cookie: JSESSIONID=5079B8DC8A4BD52E48FBA4DE78C2A43C
token:xxxxxxx
2 在请求参数中传递,如
http://127.0.0.1/seeyon/rest/orgMember/123?token=xxxxxxx
如果您使用的是我们的客户端,调用client.authenticate(userName, password);即可。
linux 调用rest接口,REST调用相关推荐
- android调用web接口,Android调用webservice 接口
以查询手机号码归属地的Web service为例,它的wsdl为 1 在Android项目中导入??Ksoap2-android jar第三方jar包?? 2 Activity代码 public cl ...
- Sentinel结合Fejgn接口,进行调用远程接口的调用和限流
sentinel 适配了 Feign 组件.如果想使用,除了引入 sentinel-starter 的依赖外还需要 2 个步骤: 1.引入依赖 <!--feign对sentinel的支持--&g ...
- ios调用restful接口_Postman调用https异常解决
Postman为开发者比较常用的api测试工具,功能强大,支持各种restful接口调试,支持文件上传和文件下载. 这里主要根据项目调用https接口出现以下异常做个简要的操作讲解: 调用接口后pos ...
- c++调用python接口_Python调用有道智云文本翻译API接口实现“智能”伪原创
>> 开始伪原创中..\")"],[20,"\n","24:\"OL7j\"|36:131"],[20,&q ...
- php如何调用mysql接口_php5 调用api接口
XXL-HEX v1.2.0,面向对象的 WebAPI 框架 版本1.2.0新特性 1.Client端,新增Javascript版本实现:前端JS可使用提供的Client,直接调用XXL-HEX的加密 ...
- jni 调用java接口_JNI 调用 JAVA 接口
JNI 调用 JAVA 接口 介绍 JNI 是本地语言编程接口.它允许运行在JVM中的Java代码和用C.C++或汇编写的本地代码相互操作. 由于一些加密等情况的需要,需要在 so 层获取一些信息用于 ...
- java调用restful接口_Java调用RESTful接口的几种方式
前端一般通过Ajax来调用,后端调用的方式还是挺多的,比如HttpURLConnection,HttpClient,Spring的RestTemplate 服务端代码如下: 服务端接口请求的URL:h ...
- java接口调用_java 接口怎么调用
一个类实现了某一个接口就可以调用接口中的方法.接口可以理解为一种能力,例如:每种动物都有叫的能力,但是每种动物的叫声都不一样,叫的能力就可以定义为一个接口. 一.创建项目和包 打开Eclipse,依次 ...
- cmd 调用webservice接口_C++ 调用 Webservice gSoap 方法
大体思路是:使用gsoap生成文件,把生成的相关文件均加载到项目中调用 本文以调用天气的webservice为例子,手把手教你. 步骤一 准备gSOAP工具:将gsoap_2.8.100.zip解压, ...
最新文章
- transformer工程实现笔记
- Android周学习Step By Step(9)--Intent之广播(完)
- 多项目同步进行“交叉编译”
- Excel制作考勤管理
- 数据库多表连接查询详解
- helm values使用示例:变量定义及使用
- 使用TR1的智能指针
- 【多元域乘法】多项式乘法电路原理及MATLAB详解
- 【转】事务和锁机制是什么关系? 开启事务就自动加锁了吗?
- java多态机制优点_java面向对象多态性有什么好处?能说的简单易懂点,最好有代码实现结果信息,麻烦各位java大神回答一下?...
- 工作流软件哪个好?介绍几款知名的工作流软件
- 拔掉MacBookPro,用8GB树莓派4工作一天,体验原来是这样的
- Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1)
- Linux高可用之heartbeat
- 常见的云服务器运营商及相关的优惠活动
- Android FaceBook登录 分享获取HashKey(密钥散列)的简单方法
- java马士兵网络编程_学习笔记-马士兵java - 网络编程
- acwing算法基础课 844. 走迷宫
- 十万个为什么 —— 古代没有拼音,怎么认字?
- 代码整洁之道精华——第十四章 逐步改进