当前位置: 首页 > news >正文

API: return response as HTML table

想要把response table变成HTML的table,即想达到下面这种的话

<table boarder="1" style="width:100%; boarder-collapse: collapse; text-align:left">
<tr>
<th>Customer</th>
<th>Date</th>
<th>Debit Amount</th>
<th>Payment Amount</th>
<th>Remain Balance</th>
</tr>
<tr>
<td>40000446</td>
<td>20250501</td>
<td>17227.80</td>
<td>0.00</td>
<td>17227.80</td>
</tr>
<tr>
<td>40000446</td>
<td>20250515</td>
<td>54.52</td>
<td>0.00</td>
<td>54.52</td>
</tr>
</table>

可以这样子开发:

  METHOD if_http_extension~handle_request.

DATA: lv_jsonbody     TYPE string,
lv_xstring      TYPE xstring,
lv_html_string  TYPE string.

"get Request Body: JSON->ABAP
lv_jsonbody = server->request->get_cdata( ).
CALL METHOD /ui2/cl_json=>deserialize
EXPORTING
json         = lv_jsonbody
pretty_name  = /ui2/cl_json=>pretty_mode-none
assoc_arrays = abap_true
CHANGING
data         = ms_req.

**********************************************************************
CALL METHOD me->pre_requisition.
CALL METHOD me->business_logic.

**********************************************************************
lv_html_string = '<table boarder = "1" style = "width:100%; boarder-collapse: collapse; text-align:left">'.
lv_html_string = lv_html_string && '<tr><th>Customer</th><th>Date</th><th>Debit Amount</th><th>Payment Amount</th><th>Remain Balance</th></tr>'.

LOOP AT mt_resp ASSIGNING FIELD-SYMBOL(<resp>).
lv_html_string = lv_html_string && '<tr>'.
lv_html_string = lv_html_string && '<td>' && <resp>-customer && '</td>'.
lv_html_string = lv_html_string && '<td>' && <resp>-date && '</td>'.
lv_html_string = lv_html_string && '<td>' && <resp>-debit_amount && '</td>'.
lv_html_string = lv_html_string && '<td>' && <resp>-payment_amount && '</td>'.
lv_html_string = lv_html_string && '<td>' && <resp>-remain_balance && '</td>'.
lv_html_string = lv_html_string && '</tr>'.
ENDLOOP.

lv_html_string = lv_html_string && '</table>'.

**********************************************************************

CALL METHOD server->response->set_content_type( if_rest_media_type=>gc_text_html ).
CALL METHOD server->response->set_cdata(
EXPORTING
data = lv_html_string ).

CALL METHOD server->response->set_status(
EXPORTING
code   = 201
reason = 'Executed' ).

ENDMETHOD.

http://www.dtcms.com/a/293305.html

相关文章:

  • Redis 八股面试题
  • 软件测试面试避坑
  • 【Unity Shader】Special Effects(十一)RgbOffset RGB偏移(UI)
  • 初识卷积神经网络CNN
  • jupyter使用
  • JAVA_ONE-NINE_ATM机案例
  • 秋招Day17 - Spring - 事务
  • 【JavaEE】认识计算机(二)
  • useOptimistic介绍和使用闭坑
  • 机器学习/归一化
  • MS523NA非接触式读卡器 IC
  • 如何在 Windows 10 下部署多个 PHP 版本7.4,8.2
  • adb的使用
  • Java(Set接口和HashSet的分析)
  • SpringBoot全局异常报错处理和信息返回
  • 米家打印机驱动:Wi-Fi 无线打印丝滑顺畅不卡顿,从此告别对打印机干瞪眼
  • Java基础 7.22
  • 原型模式及优化
  • C++11相关知识点
  • 自动化测试报告生成【Allure】
  • Linux--指令初识
  • 一文读懂DQN改进算法(Double DQN+Dueling DQN)—强化学习(7)
  • Docker实战系列:使用Docker部署AI SSH客户端工具IntelliSSH
  • MCP消息协议和传输协议(Java角度)
  • 航班调度优化策略全局概览
  • TCP day39
  • 帆软实现审批流配置
  • C++ 模板库map数据结构的概念和使用案例
  • Rabbit安装
  • vben ruoyi 数据字典解决方案