1. 程式人生 > >常見問題--post發送參數使用httpservletrequest讀取為空

常見問題--post發送參數使用httpservletrequest讀取為空

post swa 無法使用 對象 之前 導致 dev tco 端口號

1)springcloud項目中使用request.getparameter讀取參數為空

原因:使用restcontroller導致,之前為controller。而通過requestbody註解封裝為對象會自動映射參數。

restcontroller導致無法使用httprequest讀取參數。

參考restcontroller和controller註解有什麽不同

2)dev環境通過zuul訪問swagger無效

原因:防火墻導致,辦公網是內網,dev環境是外網。內網僅開通了部分端口號,而springcloud項目端口號不在範圍內,內網防火墻導致無法通過外網訪問。

3)dev通過zuul無法訪問springcloud項目,但本地通過feign訪問eureka中註冊的服務實例可以訪問成功。

本地springcloud服務註冊到了dev環境的eureka,本地其他消費者通過zuul調用註冊到dev的本地springcloud服務。訪問出錯,因為內網對應eureka端口號是開墻的,

但zuul服務訪問本地springcloud服務的端口號是未開墻的,導致訪問失敗。另外,zuul網關的作用是所有請求都經過zuul(類似nginx),通過zuul後再通過zuul獲取對應的ip進行訪問,註意,ip端口號不會返回給請求方,否則網關的作用就失效了。

而feign調用是通過eureka獲取被調用方ip,是點對點的,直接將ip端口號返回給調用方,而本地消費者和本地springcloud服務都在內網,所以可以直接訪問。

常見問題--post發送參數使用httpservletrequest讀取為空