首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更新HttpEntity内容?

如何更新HttpEntity内容?
EN

Stack Overflow用户
提问于 2015-02-12 16:26:02
回答 1查看 2.1K关注 0票数 2

我有一个HttpServletResponse。我想得到它的实体的内容,更改它,然后发送响应。

获取内容并更改内容很简单:response.getEntity().getContent()

但把修改写回实体里.我不知道该怎么做。

你有什么意见建议?

EN

回答 1

Stack Overflow用户

发布于 2015-02-12 20:59:37

您可以用下面的方式编写,responseFormat可以是xml,json或其他格式。将responseOutput读入byte数组,然后创建header,然后设置内容类型、设置内容长度和写入httpEntity字节数组。

代码语言:javascript
复制
public HttpEntity<byte[]> writeResponse(String responseOutput, String responseFormat) {
        byte[] documentBody = null;
        try {
            documentBody = responseOutput.getBytes("UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        HttpHeaders header = new HttpHeaders();
        header.setContentType(new MediaType("application", responseFormat));//response format can be "json"
        header.setContentLength(documentBody.length);
        return new HttpEntity<byte[]>(documentBody, header);
    }

*编辑:*使用 org.springframework.http.HttpEntity。

Apache org.apache.http.HttpEntity 示例

代码语言:javascript
复制
public String execute() throws ClientProtocolException, IOException {
  if (response == null) {
    HttpClient httpClient=HttpClientSingleton.getInstance();
    HttpResponse serverresponse=null;
    serverresponse=httpClient.execute(httppost);
    HttpEntity entity=serverresponse.getEntity();
    StringWriter writer=new StringWriter();
    IOUtils.copy(entity.getContent(),writer);
    response=writer.toString();
  }
  return response;
}

IOUtils.copy

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28482604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档