spring 的restful风格api与绝路路径的api优先级关系

安全监控平台对上报的restful风格进行映射转换,以免出现无数个api的问题。

有的工程将restful风格与绝对路径混用了,导致绝对路径的也被当做restful风格的了,丢失api信息。

 

eg:

绝对路径:/help/info

restful风格:/help/{infoid}

 

经过实际测试,两种可以同时存在,即使都使用同样的get或post方式。

 

在使用spring boot 自带的遍历出所有restful风格api时,吧 /help/info 映射成了 /help/{info},然后 参数infoid="info",并非想要的结果。

 

实际测试,后台响应中,绝对路径的api更高,eg /help/1234  会先去找 这样 的绝对路径有没有,没有的话才会去匹配 /help/{infoid}的restful风格api。

 

但在spring boot自带遍历所有api中,是需要自己手动控制优先级,比如过滤时,将/help/info放在最前 ,则优先映射成/help/info得到正确结果。如果将/help/{infoid}放在最前,那么就永远优先过滤映射为/help/{infoid},无法得到正确的结果。

你可能感兴趣的:(java,开发)