自学内容网 自学内容网

Springboo实现feign客户端和服务端功能例子

以下是一个使用Spring Boot和Feign客户端实现的简单例子。

首先,创建一个Spring Boot应用作为服务端:

@SpringBootApplication

public class ServerApplication {

    @Bean

    public UserController userController() {

        return new UserController();

    }

    public static void main(String[] args) {

        SpringApplication.run(ServerApplication.class, args);

    }

}

@RestController

public class UserController {

    @GetMapping("/user/{id}")

    public User getUserById(@PathVariable Long id) {

        return new User(id, "User " + id);

    }

}

class User {

    private Long id;

    private String name;

    // Constructors, getters and setters

}

然后,创建一个Spring Boot应用作为Feign客户端:

@SpringBootApplication

@EnableFeignClients

public class ClientApplication {

    @Bean

    public UserFeignClient userFeignClient() {

        return Feign.builder()

                .decoder(new GsonDecoder())

                .target(UserFeignClient.class, "http://localhost:8080");

    }

    public static void main(String[] args) {

        SpringApplication.run(ClientApplication.class, args);

    }

}

public interface UserFeignClient {

    @RequestMapping(method = RequestMethod.GET, value = "/user/{id}")

    User getUserById(@PathVariable("id") Long id);

}

在Feign客户端中,我们使用了@EnableFeignClients注解来启用Feign客户端的支持,并且通过Feign.builder()创建了一个Feign客户端实例。这个例子使用了Gson作为序列化和反序列化工具,你也可以根据需要选择其他的工具,如Jackson。

在这个例子中,服务端暴露了一个接口用于获取用户信息,Feign客户端定义了一个接口和相应的注解来调用服务端的接口。这样,你可以在Feign客户端的Bean中注入UserFeignClient,并像调用本地方法一样调用远程服务端的接口。


原文地址:https://blog.csdn.net/Rverdoser/article/details/142640420

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!