gateway坑点:gateway有Controller时会直接处理对应的路径并返回
生活随笔
收集整理的這篇文章主要介紹了
gateway坑点:gateway有Controller时会直接处理对应的路径并返回
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
使用gateway過程中,因為在gateway中加入了一個標注@RestController的類,導致請求直接由gateway中的@RestController的類處理并返回。花費了幾小時才發現問題原因,特此記錄
問題
以gateway作為網關轉發請求得到的響應,所有字段都為null且不為設定的通用返回格式
//網關的地址
請求路徑:localhost:8080/user/get?id=1
直接調用服務接口返回值正常
//服務的地址
請求路徑:localhost:9000/user/get?id=1
原因
gateway中存在控制器類
@RestController public interface UserService {@GetMapping("/user/get")SysUser get(@RequestParam("id") String id); }此時請求該路徑(localhost:網關端口/user/get?id=1)并不會按照配置文件中的配置路徑進行轉發,而是由此控制器直接處理并返回。
總結
在gateway不應出現控制器類,應避免在gateway的類上標注@Controller。
總結
以上是生活随笔為你收集整理的gateway坑点:gateway有Controller时会直接处理对应的路径并返回的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美好的回忆英文 美好的回忆英文怎么说
- 下一篇: 对于高并发的理解及实践方案