如何使用 CL_REST_HTTP_CLIENT 的 PATCH 方法?
How to use PATCH method with CL_REST_HTTP_CLIENT?
我正在尝试使用外部 REST 服务。示例:
DATA : lo_client TYPE REF TO if_http_client.
cl_http_client=>create_by_url(
EXPORTING
url = 'http://my_url'
IMPORTING
client = lo_client
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4 ).
DATA(rest_client) = NEW CL_REST_HTTP_CLIENT( lo_client ).
rest_client->GET( ).
GET、POST、PUT 和 DELETE 都可以,因为它们是在 class CL_REST_HTTP_CLIENT
.
中实现的
有没有人找到使用 PATCH 方法的解决方案,否则我该如何使用它?
PS:PATCH 的常量存在(if_rest_message=>gc_method_patch
),但正如我所说,它没有实现(send_receive)。
谢谢。
确实不支持。让它工作的快速而肮脏的方法是复制 class 并添加以下方法:
method PATCH.
send_receive( iv_http_method = if_rest_message=>gc_method_patch io_entity = io_entity ).
endmethod.
您可以使用CL_HTTP_CLIENT自由设置方法,CL_REST_HTTP_CLIENT也在使用这个class。
DATA : lo_client TYPE REF TO if_http_client.
cl_http_client=>create_by_url(
EXPORTING
url = 'http://my_url'
IMPORTING
client = lo_client
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4 ).
lo_client->request->set_method( 'PATCH' ).
lo_client->request->set_content_type( 'application/json' ).
lo_client->send( ).
lo_client->receive(
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3
OTHERS = 4 ).
我正在尝试使用外部 REST 服务。示例:
DATA : lo_client TYPE REF TO if_http_client.
cl_http_client=>create_by_url(
EXPORTING
url = 'http://my_url'
IMPORTING
client = lo_client
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4 ).
DATA(rest_client) = NEW CL_REST_HTTP_CLIENT( lo_client ).
rest_client->GET( ).
GET、POST、PUT 和 DELETE 都可以,因为它们是在 class CL_REST_HTTP_CLIENT
.
有没有人找到使用 PATCH 方法的解决方案,否则我该如何使用它?
PS:PATCH 的常量存在(if_rest_message=>gc_method_patch
),但正如我所说,它没有实现(send_receive)。
谢谢。
确实不支持。让它工作的快速而肮脏的方法是复制 class 并添加以下方法:
method PATCH.
send_receive( iv_http_method = if_rest_message=>gc_method_patch io_entity = io_entity ).
endmethod.
您可以使用CL_HTTP_CLIENT自由设置方法,CL_REST_HTTP_CLIENT也在使用这个class。
DATA : lo_client TYPE REF TO if_http_client.
cl_http_client=>create_by_url(
EXPORTING
url = 'http://my_url'
IMPORTING
client = lo_client
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4 ).
lo_client->request->set_method( 'PATCH' ).
lo_client->request->set_content_type( 'application/json' ).
lo_client->send( ).
lo_client->receive(
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3
OTHERS = 4 ).