springCloud框架 consumer端通过FeignClient调用 provider端时,无法成功,而是直接进入对应的fallback

springCloud框架 consumer端通过FeignClient调用 provider端时,无法成功,而是直接进入对应的fallback 。

原因:

provider 端暴露的接口api, 必须是 post 方式调用。不能使用 get.

同样,FeignClient 必须跟provider 端,同样使用 post方式。

如下:

/*******************************provider 模块************************************/
/**
 * @author seowen
 * @since 2019/6/10
 */
@RestController
@RequestMapping("/orderMain")
public class OrderMainController {

    @Autowired
    private IOrderMainService orderMainService;

    //不能使用 GetMapping
    @PostMapping("/selectAllByDel")
    public List selectAllByDel( OrderMainEnum.Del del){

        logger.info("进入selectAllByValid 方法");
        return null;
    }

    private Logger logger = LoggerFactory.getLogger(OrderMainController.class);
}


/*******************************FeignClient 模块************************************/

/**
 * @author seowen
 * @since 2019/6/11
 */
@FeignClient(name = "sxbs-mall3", path="/orderMain",fallback = OrderMainFallBack.class)
public interface OrderMainClient {

    /**
     * 查询所有 有效订单 即 Del
     * @param del 枚举 [NOTYET:"未删除" YET:"已删除"] 传入 null 即查询全部
     * @return List
     */
    //不能使用 GetMapping
    @PostMapping("/selectAllByDel")
    List selectAllByDel(OrderMainEnum.Del del);
}

 

你可能感兴趣的:(java,springCloud)