官方文档介绍:
proxy_set_body 参数允许重新定义传递给代理服务器的请求body内容。值可以包含文本、变量及其组合。
用法:
比如我们有一个 Post 请求,使用 json 格式接收请求 body 内容:
@RestController
@RequestMapping("/test")
public class TestController2 {
@PostMapping("/nginxProxyBody")
public TestBody testNginxProxySetBody(@RequestBody TestBody test){
System.out.println(test);
return test;
}
}
@Data
public class TestBody {
private String name;
private Integer age;
}
修改 nginx 的配置文件 nginx.conf,加上 proxy_set_body 参数,如下:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:8080;
proxy_set_body "{\"age\":12}";
}
}
注意proxy_set_body value的写法。
测试结果,可以看到我们的请求 body 体被修改了:
注:本篇当作学习笔记使用,只是记录一下 proxy_set_body 参数 value 的写法。