zoukankan      html  css  js  c++  java
  • 一个简单的RESTful例子

    首先我们创建一个逻辑类,它负责逻辑运算。

    我们可以创建自己的方法和signature,里面是运算逻辑。这个类还不能用于集成,我们还需要一个解析类。

    创建解析类ZCL_DEMO_HANDLER。它需要继承IF_HTTP_EXTENSION和IF_REST_APPLICATION两个接口。我们要实现解析逻辑,则需要重写HANDLE_REQUEST方法,该方法将用于解析HTTP传来的指令。

    HANDLE_REQUEST方法只有一个参数SERVER,但是该参数有很多字段。

    首先我们在常量中,需要注册服务的URI,这里是/SAP/BC/ZDEMO/ZTESTING,后面的SICF配置中可以看到它是如何来的。

    lt_input和wa_input用于存放JSON转换的数据,如果JSON外部有中括号,则会转换成内表,如果没有则会转换成工作区。

    lv_result则用于存放逻辑运算的返回值。

    因为逻辑类有3个input和1个output,所以这里也是3个输入字段和1个返回字段

    接入参数如图,这个应用比较简单,则只需要解析URI和JSON即可。

    常用的参数有:

    • Lv_method: 即HTTP方法
    • Lv_parameter: 即URI后面的显式QUERY
    • Lv_langu: 即语言
    • Lv_path: 即URI
    • Lv_host: 即服务器地址
    • Lv_agent: 即用户agent
    • Lv_token: 即用户token,可用于权限控制
    • Lv_body: 即JSON字符串

    运算部分,如果收到的URI对应本服务,则调用逻辑类的方法并计算。

    这里以JSON返回计算结果。

    创建好逻辑类和解析类,还需要在SICF中注册服务。我们创建了一个叫ZDEMO的节点下的ZTESTING服务。

    ZTESTING服务需要设置账号密码。

    ZTESTING服务也还需要设置解析类,即ZCL_DEMO_HANDLER

    右键激活服务后,用户就可以通过路径和服务名称调用服务了。它们合起来也就是前面代码里的服务地址了。

  • 相关阅读:
    C#拼音转换,将简体中文转换成拼音
    C#发送邮件
    textBox只能输入汉字
    IOS中UIScrollView的详细使用
    AngularJs学习教程
    IOS-简单计时器的使用
    IOS-多视图控制器之间的切换
    IOS播放音乐和音效
    Nodejs_day04
    Nodejs_day03
  • 原文地址:https://www.cnblogs.com/Intercalaryland/p/11099431.html
Copyright © 2011-2022 走看看