• not annotated with HTTP method type (ex. GET, POST) 问题解决


    大多数情况是真的而没有写method = RequestMethod.GET、POST等注解, 有时这么写了也报类似异常,如下

    @FeignClient("microservice-provider-user")
    public interface MyFeignClient {

    @RequestMapping(value = "a",method = RequestMethod.GET)
    public User findByIdE(@RequestParam("id") Long id);

    @RequestMapping(method = RequestMethod.POST,value = "/getUserByPost")
    User findBy(@RequestBody User user);
    }

    java.lang.IllegalStateException: Method findByIdE not annotated with HTTP method type (ex. GET, POST)

    问题原因,是因为这个类的存在,在其中 new feign.Contract.Default();使用了默认的Contract导致。

    package com.itmuch.cloud.study.user.feign;

    import feign.Contract;
    import feign.Logger;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;

    @Configuration
    public class MyFeignConfiguration {

    @Bean
    public Contract feignContract(){
    return new feign.Contract.Default();
    }

    @Bean
    public Logger.Level logLevel(){
    return Logger.Level.FULL;
    }

    }

    解决方法:换其他Contract.

  • 相关阅读:
    SCOI2020游记
    关于我
    WC2020游记
    CSP-S 2019 游记
    回文自动机学习笔记
    全自动数字论证机(迫真)
    树状数组上二分
    《伊豆的舞女》 读书小记
    雅礼集训2019 Day5
    雅礼集训2019 Day4
  • 原文地址:https://www.cnblogs.com/myibm/p/8032684.html
Copyright © 2020-2023  润新知