开发指南
开发指南(REST)
目的
IDaaS REST接口可以很方便的对统一身份管理的资源进行管理。
本文档描述了统一身份管理IDaaS产品对外提供的所有API(REST)接口,方便开发者查询和二次开发。
使用对象
该文档是统一身份管理IDaaS产品的API(REST)开发指南。
该文档使用对象为:使用统一身份管理IDaaS产品的开发人员。
术语定义
IDaaS:IDaaS是Inspur Identity as a Service的简称,中文名称为统一身份管理,是浪潮云的应用身份管理服务,提供集中式的身份管理、授权、认证、访问控制、审计等功能,确保政府和企业用户根据权限访问浪潮云、其他云和本地应用系统,并对用户的异常操作行为进行主动防范。
应用:指所要接入IDaaS的应用。
回调链接:用户通过认证地址校验通过后回调的地址。
资源:用户抽象出来的一切资源,比如数据、API、菜单、按钮等。
操作类型:为资源定义操作(动词形式),例如:read。每一项都是 [资源:操作] 的形式。
REST:Representational State Transfer,简称REST,即表现层状态转化,是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
开发环境准备
JDK安装
JDK是整个Java的核心,包括了JAVA运行环境,JAVA工具和JAVA基础的类库。Apache 的HTTP Client 4.5依赖JDK环境,当前对JDK的版本需求是JDK1.7及JDK1.7以上版本。
首先检查部署环境是否已安装相应版本JDK,若无,则参考《JDK1.8 安装部署手册》进行安装部署。
安装完成后,需要验证正确安装JDK,如果是winodws系统,需打开“命令提示符”,或者在运行窗口,输入“cmd”,打开了DOS窗口,分别输入命令java -version与命令javac –version,如果输出各自的版本信息,则安装成功,否则请按照《JDK1.8安装部署手册》重新安装配置。如果是linux系统,在命令窗口中输入java -version与命令javac –version。
Eclipse安装
请到Eclipse官网下载Eclipse3.6以上版本进行安装,本文以Eclipse Neon.2版本进行说明:
下载后,解压压缩包eclipse-SDK-4.6.2-win32-x86_64.zip,不需要安装,解压文件到桌面,产生eclipse文件夹。
下载HTTP Client 4.5包
首先,登录http://hc.apache.org/downloads.cgi网站,下载二进制包4.5.5,压缩包保存到桌面。
桌面解压httpcomponents-client-4.5.5-bin.tar.gz安装包,不需要安装,如下图所示解压到当前目录.
开发说明
1.除非特殊说明,所有接口都需传 token
2.响应默认包含 "code" "message" "data" "status" ,部分响应示例可能省略
3.如出现请求路径、请求参数与请求示例不一致的情况,以API文档中小标题“URL”内容为准
发送POST请求示例:
RestTemplate restTemplate = new RestTemplate();
String url = "xxxx";
MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();
postParameters.add("param1", "param1");
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/x-www-form-urlencoded");
headers.add("token", "");
HttpEntity<MultiValueMap<String, Object>> r = new HttpEntity<>(postParameters, headers);
try{
//ResponseMessage responseMessage = restTemplate.postForObject(url, r, ResponseMessage.class);
ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, r,String.class);
return new TokenResponse();
}catch (Exception e){
return null;
}
发送GET请求示例:
ResponseEntity<String> res = restTemplate.getForEntity("xxx",String.class);
String body = res.getBody();
return body;
发送DELETE请求示例:
String url = "xxx";
restTemplate.delete(url);
发送PUT请求示例:
// 请求地址
String url = "xxx";
JSONObject postObj = new JSONObject();
// 发送PUT请求
restTemplate.put(url, postDTO);