ABAP cl_http_client REST-PATCH方法

2020-09-21 11:22发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好社区, ...

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

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


你好社区,

希望有人可以帮助我。

我需要与外部API通信。 我将类cl_http_client用于方法POST,DELETE,GET。 现在,我需要使用PATCH方法更改客户数据。 不支持PUT。

呼叫方法cl_http_client => create_by_url
导出
url = lv_url
导入
客户端= lo_http
例外情况
arguments_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4。

调用方法lo_http-> request-> set_version(
if_http_request => co_protocol_version_1_0)。

呼叫方法lo_http-> request-> if_http_entity〜set_content_type
导出
content_type ='application/json; charset = utf-8'。

呼叫方法lo_http-> request-> set_header_field
导出
名称='授权'
值='4711'。

lv_length = strlen(lv_body)。
调用方法lo_http-> request-> set_cdata
导出
data = lv_body
偏移量= 0
长度= lv_length。

呼叫方法lo_http-> request-> set_method('PATCH')。

lo_http-> send(
例外情况
http_communication_failure = 1
http_invalid_state = 2)。

lo_http-> receive(
例外情况
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3)。

lv_response = lo_http-> response-> get_cdata()。

主要问题是,有人为类cl_http_client使用了PATCH方法吗?

还是有另一种解决方法?

4条回答
哎,真难
2020-09-21 11:46

很好! :-)

CL_REST_HTTP_CLIENT-PATCH是您的"增强方法"吗?

顺便说一句,有 IF_REST_MESSAGE- GC_METHOD_PATCH 常量,但它没有像其他常量那样使用:

 CL_REST_HTTP_CLIENT

 方法:
 IF_REST_RESOURCE〜POST
 send_receive(iv_http_method = if_rest_message => gc_method_post io_entity = io_entity)。

 IF_REST_RESOURCE〜PUT
 send_receive(iv_http_method = if_rest_message => gc_method_put io_entity = io_entity)。

 ...但不是〜PATCH 

一周热门 更多>