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.

相关推荐
Frag0ut14 小时前
Notepad++ 零基础入门:从记事本到代码编辑器的平滑过渡(2026最新版)
python·编辑器·html·json·notepad++·markdown·记事本
用户2986985301416 小时前
Python 实现 HTML 转纯文本:两种场景下的文档模型方案
python·html·api
前端架构师-老李18 小时前
HTML与CSS基础第七课—HTML 中的a标签(跳转链接)
前端·css·html
zhippt_10142 天前
教师做课件太耗时?AI生成PPT工具与图转PPT实测梳理
人工智能·html·powerpoint
winfredzhang2 天前
从零手写一个毛玻璃风格的页面搭建台:单文件 HTML 实现组件放置、面板磁吸与图层管理
前端·html
沫璃染墨2 天前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
前端架构师-老李3 天前
HTML与CSS基础第五课—HTML的空格、换行、横线相关知识
前端·css·html
echome8883 天前
CSS 布局:Flex 和 Grid 怎么选,附常见坑
前端·css·html
东鹏特饮3 天前
本机状态监控页面html
运维·css·html·css3
软件技术NINI3 天前
基于SpringBoot和Vue的摇滚乐鉴赏网站
vue.js·spring boot·后端·spring·html·毕业设计·毕设