引入的urlAndResponse.txt文件如下:
/diy/abc "{\"name\":1}";
/diy/bcd "{\"name\":999}";
/logout/11 "123";
/diy/abc "{\"name\":1}";
/diy/bcd "{\"name\":999}";
/logout/11 "123";
/logout/22 "{\"name\":9199}";
他奶奶滴,下面内容坑了我几十分钟!!!
Json里的字段用双引号包起来,但是Nginx的配置需要把这段字符串用引号(单引号、双引号随意)包起来。由于Json自己使用了双引号,我们必须转义。但是人为转义极有可能导致最终的结果有问题。
所以!!!
所以!!!
我们只允许使用单引号''包起来内容。示例如下:
/diy/abc '{"name":1}';
/diy/bcd '{"name":999}';
/logout/11 '123';
Nginx配置
http {
map $request_uri $response {
# 额外引入外部文件的内容
include /Users/zanglikun/Desktop/urlAndResponse.txt;
/diy/ccc '123';
default "";
}
server {
listen 8080;
server_name localhost;
#charset koi8-r;
access_log /Users/zanglikun/Desktop/nginxlog.log mylog;
location / {
root html;
index index.html index.htm;
if ($response = "") {
return 404;
}
add_header Content-Type application/json;
return 200 $response;
}
include servers/*;
}
说明:尽管这种方式实现了一个简单的固定API,但是有最大的问题是:如果请求体过大,每一行的JSON的格式化处理起来更加复杂!!!
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤