周报@2023-05-23 @ Fri, May 26, 2023 3:45 PM
周报@2023-05-23 @ Fri, May 26, 2023 5:13 PM
Expand 33 lines ...
34
## Java 中使用 swagger 如何设置 operationId
34
## Java 中使用 swagger 如何设置 operationId
35
35
36
Java 中可以使用 @ApiOperation() 注解中的 nickname 设置 operationId
36
Java 中可以使用 @ApiOperation() 注解中的 nickname 设置 operationId
37
+
38
+
## nginx: [emerg] "add_header" directive is not allowed here
39
+
40
+
解决 nginx 报错 `nginx: [emerg] "add_header" directive is not allowed here`
41
+
42
+
"add\_header" 指令在 Nginx 配置文件中不允许在所有位置使用。如果你在一个 `if` 语句中尝试使用 "add\_header" 指令,会引发 "add\_header directive is not allowed here" 的错误。
43
+
44
+
一种替代方案是使用 "map" 指令来设置一个变量,然后在 server 或 location 上下文中使用 "add\_header" 指令:
45
+
46
+
```nginx
47
+
map $request_method $cors_header {
48
+
    OPTIONS "Value-of-your-header";
49
+
    default "";
50
+
}
51
+
52
+
server {
53
+
    ...
54
+
55
+
    add_header 'Name-of-your-header' $cors_header;
56
+
57
+
    if ($request_method = 'OPTIONS') {
58
+
        return 204;
59
+
    }
60
+
61
+
    ...
62
+
}
63
+
```
64
+
65
+
在这个例子中,当请求方法为 OPTIONS 时,`$cors_header` 变量的值被设置为 "Value-of-your-header"。对于其他请求方法,这个变量的值为空。然后,`add_header` 指令在 server 上下文中使用,并将 `$cors_header` 作为头部值。所以,只有当请求方法为 OPTIONS 时,才会添加此头部。
66
+
67
+
请根据你的需要修改 "Name-of-your-header" 和 "Value-of-your-header"。