gateway坑点:gateway有Controller时会直接处理对应的路径并返回
前言
使用gateway過(guò)程中,因?yàn)?strong>在gateway中加入了一個(gè)標(biāo)注@RestController的類(lèi),導(dǎo)致請(qǐng)求直接由gateway中的@RestController的類(lèi)處理并返回?;ㄙM(fèi)了幾小時(shí)才發(fā)現(xiàn)問(wèn)題原因,特此記錄
問(wèn)題
以gateway作為網(wǎng)關(guān)轉(zhuǎn)發(fā)請(qǐng)求得到的響應(yīng),所有字段都為null且不為設(shè)定的通用返回格式
//網(wǎng)關(guān)的地址
請(qǐng)求路徑:localhost:8080/user/get?id=1
直接調(diào)用服務(wù)接口返回值正常
//服務(wù)的地址
請(qǐng)求路徑:localhost:9000/user/get?id=1
原因
gateway中存在控制器類(lèi)
@RestController public interface UserService {@GetMapping("/user/get")SysUser get(@RequestParam("id") String id); }此時(shí)請(qǐng)求該路徑(localhost:網(wǎng)關(guān)端口/user/get?id=1)并不會(huì)按照配置文件中的配置路徑進(jìn)行轉(zhuǎn)發(fā),而是由此控制器直接處理并返回。
總結(jié)
在gateway不應(yīng)出現(xiàn)控制器類(lèi),應(yīng)避免在gateway的類(lèi)上標(biāo)注@Controller。
總結(jié)
以上是生活随笔為你收集整理的gateway坑点:gateway有Controller时会直接处理对应的路径并返回的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 美好的回忆英文 美好的回忆英文怎么说
- 下一篇: 对于高并发的理解及实践方案