ABAP-Swagger 一种公开 ABAP REST 服务的方法

news/2024/9/21 17:15:38 标签: SAP Swagger, ABAP-Swagger, ABAP Swagger, ABAP REST, ABAP API

ABAP-Swagger

An approach to expose ABAP REST services

一种公开 ABAP REST 服务的方法

一种公开 <a class=ABAP REST 服务的方法" height="599" src="https://i-blog.csdnimg.cn/direct/72d9132ba6334bfdbdc2d0d75ba063ed.png" width="1200" /> 

Usage

1: develop a class in ABAP with public methods

2: implement interface ZIF_SWAG_HANDLER, and register the public methods(example method zif_swag_handler~meta)

3: the methods are now accessible via rest(example)

4: the Swagger UI can be accessed via swagger.html in the base dir of the REST services

Installing and Requirements

Install via abapGit

Requires native JSON support see ABAP and JSON - SAP Community or SAP note 1648418

CLASS zcl_swag_example DEFINITION
  PUBLIC
  FINAL
  CREATE PUBLIC.

  PUBLIC SECTION.
    INTERFACES if_http_extension.
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.

CLASS ZCL_SWAG_EXAMPLE IMPLEMENTATION.

  METHOD if_http_extension~handle_request.

    DATA: lo_swag    TYPE REF TO zcl_swag,
          lo_handler TYPE REF TO zcl_swag_example_handler.

    CREATE OBJECT lo_swag
      EXPORTING
        ii_server = server
        iv_title  = 'Example'
        iv_base   = '/zswag'.  "  <=== Adapt to your SICF path

    CREATE OBJECT lo_handler.
    lo_swag->register( lo_handler ).

    lo_swag->run( ).

  ENDMETHOD.
ENDCLASS.

http://www.niftyadmin.cn/n/5669140.html

相关文章

java集合(1)

引入 我们我们保存多个数据时大多是使用数组&#xff0c;但数组有许多不足之处 数组的长度必须在开始时指定&#xff0c;而且长度一旦确定便不能修改保存的必须为同一类型的元素数组增加/删除元素较麻烦 //数组扩容 int[] num1 new int[1]; num1[0]1;//创建数组并赋值 int[]…

Python Web应用的可扩展性与高可用性设计

Python Web应用的可扩展性与高可用性设计 目录 &#x1f31f; 水平扩展与垂直扩展&#x1f4c8; 基于 Kubernetes 的自动扩展策略&#x1f4be; 数据库主从复制与读写分离&#x1f6e0; 分库分表的设计与实现&#x1f517; 分布式系统中的一致性问题&#xff08;CAP理论&…

android 14分屏实战之小米su7的3分屏实现方案讨论及线索征集

背景&#xff1a; hi&#xff0c;粉丝朋友们&#xff1a; 近来有学员朋友询问到了马哥一个问题关于小米su7的分屏实现方案问题&#xff0c;具体小米su7的实现现象如下&#xff1a; 具体源头视频详细地址&#xff1a;https://www.bilibili.com/video/BV1UK421a7iB 针对小米su…

模板字符串中定义方法并传参

遇到一个使用js es6的模板字符串进行事件绑定和传参的问题&#xff0c;这个问题的引起是因为使用innerHTML插入了一大串html并进行事件的绑定和传参。 以react为例&#xff0c;写一个demo记录一下 模板字符串中写方法的话需要用onclick来定义&#xff0c;传参需要这么写${char…

网络编程练习:UDP聊天室

【1】服务器代码 #include <stdio.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in…

uboot:源码分析-启动第一阶段-start.S解析

start.S引入 进入start.S文件中&#xff0c;发现57行中就是_start标号的定义处 SourceInsight中添加行号 在SI中&#xff0c;如果我们知道我们要找的文件的名字&#xff0c;但是我们又不知道他在哪个目录下&#xff0c;我们要怎样找到并打开这个文件&#xff1f;方法是在SI中先…

【dom操作基础】案例题1

一、选择元素 使用getElementById、getElementsByClassName、querySeletor选择元素 <body><div id"fatherId" class"falther">father内容<div class"child">1</div><div class"child2">2</div>&l…

利用 IDEA 快速管理 k8s 集群

简介 前置条件&#xff1a; minikube 已安装&#xff0c;JetBrains k8s 官方插件已安装&#xff0c;Helm 已安装&#xff0c;kubectl 已安装 打开插件面板 检查可执行文件 添加配置文件 添加集群 验证