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.

相关推荐
杰建云16720 小时前
为什么要做商城小程序
html
Bug-制造者20 小时前
深入理解 HTML5 Web Workers:提升网页性能的关键技术解析
前端·html·html5
ZC跨境爬虫1 天前
跟着 MDN 学 HTML day_41:(DOMParser 接口详解)
前端·javascript·ui·html·音视频
产品经理爱开发1 天前
国内免费快速HTML托管平台推荐:优先艾可秀,零门槛秒上线
前端·html
ZC跨境爬虫1 天前
跟着 MDN 学 HTML day_43:(DocumentFragment 接口详解)
前端·javascript·vue.js·ui·html·音视频
ZC跨境爬虫1 天前
跟着 MDN 学 HTML day_42:(DOMTokenList 接口详解)
前端·javascript·ui·html·ecmascript·音视频
幽络源小助理1 天前
团队个人科技主页HTML源码 黑客帝国风格个人简历网页模板
前端·科技·html
杨超越luckly1 天前
Python应用指南:百度热搜数据
python·百度·html·数据可视化
七牛开发者1 天前
HTML is the new Markdown:来自 Claude Code 团队的实践
前端·人工智能·语言模型·html
@大迁世界1 天前
43.HTML 事件处理和 React 事件处理有什么区别?
前端·javascript·react.js·html·ecmascript