gpt4 book ai didi

java - 过滤响应只返回部分内容

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:45:19 24 4
gpt4 key购买 nike

我有以下提取响应并将其包装在包装类中的方法。

通过调试器,我可以看到 responseContent 具有应有的完整内容,但是当它被打印到屏幕上时,只有部分请求返回。

我可以看到变量 data 具有它应该具有的完整值。

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper((HttpServletResponse) response);
chain.doFilter(request, responseWrapper);
String responseContent = new String(responseWrapper.getContentAsByteArray());
BasicResponse<Object> fullResponse = new BasicResponse<>();
fullResponse.setData(new ObjectMapper().readValue(responseContent, Object.class));
String data = new ObjectMapper().writeValueAsString(fullResponse);
response.getWriter().write(data);//data has the entire value
response.getWriter().close();
}

最佳答案

很可能是响应 Content-Length header 设置为小于新数据长度的值。确保使用与新数据长度匹配的新值设置此 header 。

关于java - 过滤响应只返回部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54982024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com