要让 HttpServletResponse 返回文本流,可以按照以下步骤进行操作:

  1. 在 Controller 中注入 HttpServletResponse 对象:
@Autowired
private HttpServletResponse response;
  1. 设置返回的 Content-Type 为 'text/plain',表示返回的是纯文本:
response.setContentType('text/plain');
  1. 获取输出流,并将文本内容写入输出流:
try {
    OutputStream outputStream = response.getOutputStream();
    outputStream.write('Hello, World!'.getBytes("UTF-8"));
    outputStream.flush();
    outputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}

完整的示例代码:

@RestController
public class TextStreamController {

    @Autowired
    private HttpServletResponse response;

    @RequestMapping("/textStream")
    public void textStream() {
        response.setContentType('text/plain');
        try {
            OutputStream outputStream = response.getOutputStream();
            outputStream.write('Hello, World!'.getBytes("UTF-8"));
            outputStream.flush();
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

访问 http://localhost:8080/textStream,可以看到浏览器输出了 'Hello, World!'。


原文地址: https://www.cveoy.top/t/topic/mkEZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录