gpt4 book ai didi

python - NGINX:将请求详细信息放在自定义 404.json 返回上

转载 作者:行者123 更新时间:2023-12-01 04:27:29 26 4
gpt4 key购买 nike

对于 404s 和 500s/502s/504s 错误,我将返回自定义 JSON 错误页面:

{
"response":
{
"status": "EXCEPTION_404_NOT_FOUND",
}
}

在我的sites-enabled/service_nginx.conf中,我设置如下:

error_page 404 /404.json;
location /404.json {
internal;
root /temp/error_response_templates;
}

这工作正常。即每出现404就返回一次JSON。但我想将请求或一些请求详细信息添加到返回的 JSON 中。例如,对于 http://service.com/param1/param2/ ,如果遇到404的情况,我想在返回的 JSON 中包含 param1 和 param2。像这样:

{
"response":
{
"status":"EXCEPTION_404_NOT_FOUND",
"param1":<param1 value>,
"param2":<param2 value>,
}
}

这可能吗?如果是,有人可以帮我怎么做吗?提前致谢!

最佳答案

您可以为每个错误代码设置类似的内容:

  error_page 404 @404_json;

location @404_json {
default_type application/json;
return 404 '{ "response": { "status": "EXCEPTION_404_NOT_FOUND",
}, "message": "Not Found"}';
}

或者从文件加载错误消息,例如:

try_files /404.json =404;

推荐avoid using variables在模板中(出于性能原因)。

关于python - NGINX:将请求详细信息放在自定义 404.json 返回上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32888436/

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