从ClientResource检索响应正文

伊戈尔

我尝试使用ClientResource发出POST请求,我能够检索响应STATUS,我也想在遇到异常时获取响应正文

这是我的代码:

public static Pair<Status, JSONObject> post(String url, JSONObject body) {
    ClientResource clientResource = new ClientResource(url);
    try {
        Representation response = clientResource.post(new JsonRepresentation(body), MediaType.APPLICATION_JSON);

        String responseBody = response.getText();
        Status responseStatus = clientResource.getStatus();

        return new ImmutablePair<>(responseStatus, new JSONObject(responseBody));
    } catch (ResourceException e) {
        logger.error("failed to issue a POST request. responseStatus=" + clientResource.getStatus().toString(), e);
        //TODO - how do I get here the body of the response???
    } catch (IOException |JSONException e) {
        throw e;
    } finally {
        clientResource.release();
    }
}

这是发生故障时服务器资源返回的代码

getResponse().setStatus(Status.CLIENT_ERROR_FORBIDDEN);
JsonRepresentation response = new JsonRepresentation( (new JSONObject()).
        put("result", "failed to execute") );
return response;

我尝试抓住“结果”没有成功

蒂埃里圣堂武士

实际上,该getResponseEntity方法返回响应的内容。它对应于一个表示。JsonRepresentation如果期望一些JSON内容,则可以按包装它

try {
    (...)
} catch(ResourceException ex) {
    Representation responseRepresentation
           = clientResource.getResponseEntity();
    JsonRepresentation jsonRepr
           = new JsonRepresentation(responseRepresentation);
    JSONObject errors = jsonRepr.getJsonObject();
}

您会注意到Restlet还支持带注释的异常。

否则,我会写一篇有关此主题的博客文章:http : //restlet.com/blog/2015/12/21/exception-handling-with-restlet-framework/我认为这可以为您提供帮助。

蒂埃里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用RxAndroid和Retrofit 2检索响应正文?

来自分类Dev

如何在Android中发送帖子数据并检索响应正文?

来自分类Dev

使用 Runscope 的触发器 URL 从响应正文中检索数据

来自分类Dev

从HTML正文检索

来自分类Dev

响应http响应正文的编码

来自分类Dev

PHP cURL在单个请求中检索响应标头和正文(如果有请求)?

来自分类Dev

在NanoHTTPD中检索HTTP正文

来自分类Dev

写入响应正文时,标题和响应正文为空

来自分类Dev

PHP,CURL得到正文响应

来自分类Dev

解析发布响应的正文,Java

来自分类Dev

响应正文上的字符无效

来自分类Dev

从外部访问http响应正文

来自分类Dev

FetchError:无效的json响应正文

来自分类Dev

空响应正文与ajax请求

来自分类Dev

获取AJAX响应的正文标记

来自分类Dev

在 ObjectResult 中创建响应正文

来自分类Dev

从HttpClientResponse检索响应主体

来自分类Dev

如何检索XHR响应?

来自分类Dev

如何检索XHR响应?

来自分类Dev

我在chrome开发人员工具中看到了响应正文,但无法在Front End内部检索到它

来自分类Dev

我在chrome开发人员工具中看到了响应正文,但无法在Front End内部检索到它

来自分类Dev

代理之前如何检索POST请求正文

来自分类Dev

使用Hyper显示响应正文仅显示正文的大小

来自分类Dev

cakephp HttpSocket响应正文和正文之间的区别

来自分类Dev

使用HttpRequestException获取失败请求的响应正文

来自分类Dev

php cURL给出空白响应正文

来自分类Dev

如何编辑VCR gem返回的响应正文?

来自分类常见问题

改造2:从响应正文获取JSON

来自分类Dev

播放2.4:拦截和修改响应正文