feign.FeignException$NotFound: [404] during [GET] to [http://127.0.0.1:8011/csm/api/v1.0/system/platform/test] [SysPlatformIf#querySysManagerIp()]: [{"timestamp":1583803232721,"status":


feign,404的問題個人理解:

第一種:請求從本模塊中沒法出去;

第二種:請求出去,沒進入另一個模塊。

因為本項目是springboot在父模塊下的多個子模塊之間使用feign的調用,且項目最終打成一個jar包發布,所以在開發中遇見的問題如下:

第一:請求沒法出去、這里沒法出去的原因有很多,比如地址以及端口號沒配置正確

 

 比如網上說的不能使用GetMapping()注解之類的,但是在這里好像是可以,有可能是版本不一樣,更新了吧;

 

 上面這個會出現的問題有url的路徑問題,啥的;反正正常通過ip以及端口發出去就行;

 

第二種就是進不去:進不去;

我現在遇到的問題是系統登陸之后;通過頁面可以訪問該接口,但是在系統內部相互調用的時候,會出現問題,啥子原因呢?后來找到的結果是,給feign添加了token信息,也就是說在對另一個模塊請求的時候進行了攔截,未登錄,所以會出現了這個情況,具體添加配置如下:

import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;

/**
 * 跨模塊獲取登錄信息
 * author 
 * date 2020/2/20 0020 16:11
 */
@Configuration
public class FeignConfig implements RequestInterceptor {
    @Override
    public void apply(RequestTemplate requestTemplate) {
        ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

        HttpServletRequest request = requestAttributes.getRequest();
        requestTemplate.header("postman-token",request.getHeader("postman-token"));
        requestTemplate.header("cookie",request.getHeader("cookie"));
    }
}

 這里有一個額外的例子。可以看看:https://www.cnblogs.com/ft535535/p/9898147.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM