首页 > 解决方案 > Feign 处理 301 作为异常

问题描述

我正在开发一个使用 Feign 客户端调用另一个服务的应用程序。现在的问题是我不断将 301 作为异常抛出。如何传播此以忽略 301 作为错误并从服务中获取实际响应?

这是我试图调用的服务的客户端界面。

package com.eventmanager.events.client;

import com.eventmanager.events.client.mappings.Auth;
import com.eventmanager.events.responses.Response;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;

@FeignClient(value = "auth-service")
public interface AuthClient {
  @GetMapping("/api/v1/auth")
  public Response<Auth> getLoggedUser(@RequestHeader(value = "Authorization") String authorization);
}

标签: javahttpmicroservicesspring-cloudopenfeign

解决方案


我认为这意味着您的目标服务器已经重定向了您,所以如果您想要一些除 301 或 302 之外的代码,最好更改您的服务器代码。

类似的场景:

在spring security中,当身份验证过程失败时,它会发送客户端302代码(它重定向客户端),但客户端需要确切的403或401代码,因此我们需要将服务器代码更改为不重定向客户端而是发送确切的代码。


推荐阅读