springcloud feign客户端调用工具

导入依赖:

<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-feign</artifactId>
		</dependency>

application.yml

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/
server:  
  port: 8777
spring:
  application:
    name: order-fgin

service调用注册中心其他项目的接口:

@FeignClient(value="service-member")
public interface MemberService {
	
	@RequestMapping("/getMember")
	public String getMember(); 
	
}

controller调用service

@RestController
public class FeignController {
	
	@Autowired
	private MemberService memberService;
	
	@RequestMapping("/getMember")
	public String getMember() {
		System.out.println("feign调用member");
		return memberService.getMember();
	} 
	
}

启动器:

@EnableEurekaClient 
@SpringBootApplication
@EnableFeignClients
public class Application {
	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	} 
}

GetMapping 和 PostMapping :

通过浏览器的地址栏输入地址,所访问的URL都是get请求,因此如果以post定义方法,那么由于请求与实现的不一致,会返回405错误,method not allowed,  The specified HTTP method is not allowed for the requested resource.

这归根到底是因为浏览器发送了get请求,而方法只能处理post请求,所以发生的错误

如果想用浏览器做post的测试,那么就下一个chrome的postman插件,完美解决你的问题

@RequestMapping @ResponseBody 和 @RequestBody:

@PathVariable绑定URI模板变量值

@RequestParam绑定单个请求参数值

@RequestHeader绑定请求头数据

@RequestBody 绑定对象数据

猜你喜欢

转载自blog.csdn.net/qq_38718211/article/details/79712317