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。

一、查看服务
输入地址:http://localhost:6601/ 查看如下哪些服务正常启动?如红色方框中。

二、Restful API的Uri命名规则
除了通用Restful API服务和个别系统使用的Restful服务外,常用维护类的Restful API Uri命名规则如下,其是[function name]如:user、role、apiobject等等。

三、查看Restful API接口文档说明
输入地址:http://localhost:6602/ 查看Restful API接口文档。

2.1 Microservice authorization and authentication:主要提供用户、角色和权限维护的服务。

Spring Cloud开发Restful API服务,一定要引用组件Swagger和Lombok并且使用它的注解,开发完成以后,会自动生成Restful API接口说明和调用实例,减少程序员不少写文档的工作量。
如用户通用API权限维护为例:

请求参数实例如Example Value如Json关键字和数据类型

其中,上图中的“Try It out”可以测试API调用,由于考虑权限问题,就去掉该调式功能。
Model是用户API代码对象每个属性的说明如下:

请求响应报文如下:

2.2 Generic RESTful services:主要提供动态多数据源定义和通用微服务的维护。

其中,Common API services calls为本平台的核心Restful API服务-通用API服务调用

通用API服务调用介绍说明如下:

调用Oracle EBS专用SQL脚本服务如下Example Value中的applShortName、orgId、respApplId、respId和userId,对于Oracle EBS开发的程序员来说,这些是非常熟悉的。

调用该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。

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;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlanChen

您的鼓励是我创作的源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值