最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

rest api - Return WP_Error as WP_REST_Response

programmeradmin0浏览0评论

I have a http request to WP REST API that can resolve in a success or a failure status

The success gets handled by WP_REST_Response, and if any error occurs this is handled by WP_Error, both returned if that's the case

However, in both cases when I receive the server response I don't get any of the messages I've added

    public function myFunction($request = null)
    {
        $response = array();
        $parameters = $request->get_json_params();
        $error = new WP_Error();

        if (success) {
                $response['code'] = 200;
                $response['message'] = __("Great", "great");
            } else {
                $error->add(406, __("nope", 'almost'), array('status' => 400));
                return $error;
            }

        return new WP_REST_Response($response, 200);
    }

If I inspect the response that I receive, I cannot have access to any message, I only receive

Response {
  body: (...)
  bodyUsed: true
  headers: Headers {}
  ok: true
  redirected: false
  status: 200
  statusText: "OK"
  url: "..."
  __proto__: Response
}

How does it work?

I have a http request to WP REST API that can resolve in a success or a failure status

The success gets handled by WP_REST_Response, and if any error occurs this is handled by WP_Error, both returned if that's the case

However, in both cases when I receive the server response I don't get any of the messages I've added

    public function myFunction($request = null)
    {
        $response = array();
        $parameters = $request->get_json_params();
        $error = new WP_Error();

        if (success) {
                $response['code'] = 200;
                $response['message'] = __("Great", "great");
            } else {
                $error->add(406, __("nope", 'almost'), array('status' => 400));
                return $error;
            }

        return new WP_REST_Response($response, 200);
    }

If I inspect the response that I receive, I cannot have access to any message, I only receive

Response {
  body: (...)
  bodyUsed: true
  headers: Headers {}
  ok: true
  redirected: false
  status: 200
  statusText: "OK"
  url: "..."
  __proto__: Response
}

How does it work?

Share Improve this question edited Sep 3, 2019 at 15:21 fuxia 107k39 gold badges255 silver badges459 bronze badges asked Sep 3, 2019 at 13:42 GWorkingGWorking 16510 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

Already found, if I parse the response response.json() I get the messages in both cases

发布评论

评论列表(0)

  1. 暂无评论