E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token

前提条件
       安装Postman工具

       目前,易联E-Lin通用微服务平台只能提供后台服务,前端暂时无法提供友好的界面支持,真诚希望有热爱前端开发的朋友加入一起创作。在没有前端界面UI情况下,我们只能通过Postman工具可实现对Restful API调试和日常维护,对于会开发的朋友来说,这个工具比较好学习,基本一二天就可以自学会的。
       由于4个应用服务组成,启动顺序分别:E-LIN Server、E-LIN OAUTH、E-LIN DB和E-LIN ZUUL。
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第1张图片
一、查看服务
输入地址:http://localhost:6601/ 查看如下哪些服务正常启动?如红色方框中。
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第2张图片

二、Restful API的Uri命名规则
除了通用Restful API服务和个别系统使用的Restful服务外,常用维护类的Restful API Uri命名规则如下,其是[function name]如:user、role、apiobject等等。
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第3张图片

三、查看Restful API接口文档说明
输入地址:http://localhost:6602/ 查看Restful API接口文档。
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第4张图片
2.1 Microservice authorization and authentication:主要提供用户、角色和权限维护的服务。
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第5张图片
Spring Cloud开发Restful API服务,一定要引用组件Swagger和Lombok并且使用它的注解,开发完成以后,会自动生成Restful API接口说明和调用实例,减少程序员不少写文档的工作量。
如用户通用API权限维护为例:
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第6张图片
请求参数实例如Example Value如Json关键字和数据类型
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第7张图片
其中,上图中的“Try It out”可以测试API调用,由于考虑权限问题,就去掉该调式功能。
Model是用户API代码对象每个属性的说明如下:
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第8张图片
请求响应报文如下:
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第9张图片
2.2 Generic RESTful services:主要提供动态多数据源定义和通用微服务的维护。
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第10张图片
其中,Common API services calls为本平台的核心Restful API服务-通用API服务调用
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第11张图片
通用API服务调用介绍说明如下:
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第12张图片
调用Oracle EBS专用SQL脚本服务如下Example Value中的applShortName、orgId、respApplId、respId和userId,对于Oracle EBS开发的程序员来说,这些是非常熟悉的。
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第13张图片
调用该Restful API服务,执行SQL脚本之前会执行职责和多组访问初始化如下脚本:

BEGIN
  Fnd_Global.Apps_Initialize(User_Id => 0, Resp_Id => 50722, Resp_Appl_Id => 222);
  Mo_Global.Init('SQLAP'); --初始化Multi Org,临时表mo_glob_org_access_tmp有数据
  Mo_Global.Set_Policy_Context(p_Access_Mode => 'S', p_Org_Id => 81); --设置Org访问模式,S为单OU访问,M为多OU访问,A为所有OU访问
END;

四、获得Token
4.1 运行Postman工具软件,修改请求方式POST。
4.2 输入URL:http://localhost:6602/auth/oauth/token?grant_type=password&username=alanc&password=123456 其中,grant_type为password表示密码模式(将用户名,密码传过去,直接获取token),username为用户,password为用户的密码。具体详细大家可以了解一下Oauth2.0。
4.3 Authorization Type为Basic Auth,Username为elin,密码为elin888
4.4 点击“Send”,成功获得Token。
E-Lin通用微服务平台-启动服务和查看Restful API接口及获得Token_第14张图片
Oracle PL/SQL如何获得Token信息?代码如下:

DECLARE
  Http_Req  Utl_Http.Req;
  Http_Resp Utl_Http.Resp;
  Lv_Url    VARCHAR2(4000) := 'http://localhost:6602/auth/oauth/token?grant_type=password' ||
                              Chr(38) || 'username=alanc' || Chr(38) || 'password=123456';
  Lv_Buffer VARCHAR2(4000);
BEGIN
  Http_Req := Utl_Http.Begin_Request(Lv_Url, 'POST', ' HTTP/1.1');
  Utl_Http.Set_Header(Http_Req, 'Content-Type', 'application/x-www-form-urlencoded');
  Utl_Http.Set_Authentication(Http_Req, 'elin', 'elin8888', 'Basic');
  Http_Resp := Utl_Http.Get_Response(Http_Req);
  LOOP
    Utl_Http.Read_Line(Http_Resp, Lv_Buffer);
    Dbms_Output.Put_Line(Lv_Buffer);
  END LOOP;
  Utl_Http.End_Response(Http_Resp);
EXCEPTION
  WHEN Utl_Http.End_Of_Body THEN
    Utl_Http.End_Response(Http_Resp);
END;

 

你可能感兴趣的:(E-lin通用微服务平台)