Abap Rest Service返回HTML而不是JSON

2020-08-24 07:52发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家,

我在ABAP中创建了一个休息服务,用于与非SAP系统的通信测试。 当服务通过非SAP系统的开发环境进行测试时,他们给了我反馈,我的服务以HTML格式发送响应。 HTML正文包含JSON格式,但我想直接将其发送为JSON格式。 当我通过POSTMAN测试时,我注意到它向我发送了HTML响应(在屏幕截图上标有红色方框)。 您能帮我解决这个问题吗? 作为参考,我创建了服务而不是odata服务的SICF节点。

 ATA:lt_scarr类型yrest_tt_scarr。
 数据:lv_string_writer类型参考cl_sxml_string_writer。
 数据:lv_xstring TYPE xstring。
     尝试。
         lt_scarr = get_scarr(me-> yif_scarr〜request)。
         lv_string_writer = cl_sxml_string_writer => create(类型= if_sxml => co_xt_json)。
         呼叫转换ID源数组= lt_scarr结果XML lv_string_writer。
         lv_xstring = lv_string_writer-> get_output()。
         me-> yif_scarr〜response-> set_data(data = lv_xstring)。
       捕获cx_root。
     ENDTRY。

(74.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家,

我在ABAP中创建了一个休息服务,用于与非SAP系统的通信测试。 当服务通过非SAP系统的开发环境进行测试时,他们给了我反馈,我的服务以HTML格式发送响应。 HTML正文包含JSON格式,但我想直接将其发送为JSON格式。 当我通过POSTMAN测试时,我注意到它向我发送了HTML响应(在屏幕截图上标有红色方框)。 您能帮我解决这个问题吗? 作为参考,我创建了服务而不是odata服务的SICF节点。

 ATA:lt_scarr类型yrest_tt_scarr。
 数据:lv_string_writer类型参考cl_sxml_string_writer。
 数据:lv_xstring TYPE xstring。
     尝试。
         lt_scarr = get_scarr(me-> yif_scarr〜request)。
         lv_string_writer = cl_sxml_string_writer => create(类型= if_sxml => co_xt_json)。
         呼叫转换ID源数组= lt_scarr结果XML lv_string_writer。
         lv_xstring = lv_string_writer-> get_output()。
         me-> yif_scarr〜response-> set_data(data = lv_xstring)。
       捕获cx_root。
     ENDTRY。

(74.7 kB)
付费偷看设置
发送
3条回答
CJones
1楼 · 2020-08-24 08:18.采纳回答

您好

您似乎没有在标题字段中设置响应类型。 可以通过以这种方式调用响应对象的set_header_field方法来解决:

我-> yif_scarr〜response-> set_header_field(name ='Content-Type'value ='application/json; charset = UTF  -8')。

最诚挚的问候,

Geert-Jan Klaps

My梦
2楼-- · 2020-08-24 08:14

这可能是更好的方法(没有硬编码,标准content_type方法 ...)。 结果大致相同:

响应-> set_content_type(if_rest_media_type => gc_appl_json)。
亦是此间程序员
3楼-- · 2020-08-24 08:21

它们两者都完全按照我的要求工作。 非常感谢。

一周热门 更多>