This is the multi-page printable view of this section. Click here to print.
使用注意
- 1: Controller 语义不能重复
- 2: 大文件上传
1 - Controller 语义不能重复
出于性能考虑,Restlight中的所有RequestMapping
的path属性不允许有语义上的重复(除非业务能容忍这个问题), 如果存在语义上的重复Restlight既不会在启动时报错提示,也不保证真正调用时的稳定性
。
Note
这里的稳定性
指的是不保证任何的优先级,比如Controller A和Controller B重复,Restlight不保证真正调用的时候会调用Controller A或者Controller B。
- 错误示例1:
@RequestMapping("/foo")
public void foo() {
// ...
}
@PostMapping("/foo")
public void foo1() {
// ...
}
Warning
Controller中的path重复- 错误示例2:
@RequestMapping("/foo/{bar}")
public void foo(@PathVariable String bar) {
// ...
}
@PostMapping("/foo/bar")
public void foo1() {
// ...
}
Warning
Controller中的@PathVariable
与第二个Congroller的path重复
Note
同样的道理,如果Controller语义存在相交的语义(可能存在使用复杂的正则等方式定义的Controller接口,因此可能存在相交的情况)也适用。Restlight检测到歧义时会打印WARNING日志
2 - 大文件上传
当前版本
Restlight
会将收到的文件存在内存之中,请勿上传超大文件。