rest - 如何将 PATCH 方法与 CL_REST_HTTP_CLIENT 一起使用?

标签 rest web-services abap

我正在尝试使用外部 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 都可以,因为它们是在 CL_REST_HTTP_CLIENT 类中实现的。

methods supported

有没有人找到使用 PATCH 方法的解决方案,否则我该如何使用它?

PS:PATCH 的常量存在(if_rest_message=>gc_method_patch),但正如我所说,它没有实现(send_receive)。

谢谢。

最佳答案

您可以使用 CL_HTTP_CLIENT 自由设置方法,CL_REST_HTTP_CLIENT 也在底层使用这个类。

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 - 如何将 PATCH 方法与 CL_REST_HTTP_CLIENT 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60172088/

相关文章:

从多个表中选择一个内部表

php - 如何让 Laravel 返回 JSON REST API 的自定义错误

rest - 公开记录开放 API 是一种好习惯吗?

java - 无法使用 Java Spring Boot 通过 Rest API 在两个 Docker 容器之间进行通信

web-services - Axis 1.4 Web 服务日期时间 NumberFormatException : Invalid date/time

java - RESTEasy UnavailableException HttpServletDispatcher

dynamic - 处理串联表键的通用方法

java - 在 Tomcat 上运行的 Jersey Servlet?

c# - Cache.Get 总是返回 null

abap - 如何检查正在运行的程序的状态