Cloud Services de printemps pour construire des micro-série (X): Comme enregistré entre les utilisations du service centre d'appels de la openfeign

Précédent obtenir le utilisateur actuellement connecté , nous expliquons comment obtenir l'utilisateur actuellement connecté

Nous avons décollé en termes de celui-ci centre d'enregistrement, un centre d'inscription, en fait, est une composante essentielle des micro-services

Cet article Source:

Adresse Source

Registre commun:

  • eureka maintient que la version 1.X, la version 2.x a été abandonnée. CA appartiennent au principe de registre
  • ZooKeeper haute consistance du registre, le registre est Dubbo meilleur support
  • consul peut comprendre que la sublimation de eureka, pour les grands systèmes
  • Ali nouveau registre open source et des services d'intégration de centre de configuration.

En fait, le registre ci-dessus ont chacun leurs propres avantages, à la façon de choisir dépend de la volonté de l'individu.

Ici pour expliquer est la base nacos pour la configuration de registre

S'il vous plaît se référer à l'intégration:

l'intégration du centre d'enregistrement

Une fois le registre intégré, les appels entre les officiels au service comme suit:

@SpringBootApplication
@EnableDiscoveryClient
public class NacosConsumerApplication {

    @LoadBalanced
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

    public static void main(String[] args) {
        SpringApplication.run(NacosConsumerApplication.class, args);
    }

    @RestController
    public class TestController {

        private final RestTemplate restTemplate;

        @Autowired
        public TestController(RestTemplate restTemplate) {this.restTemplate = restTemplate;}

        @RequestMapping(value = "/echo/{str}", method = RequestMethod.GET)
        public String echo(@PathVariable String str) {
            return restTemplate.getForObject("http://service-provider/echo/" + str, String.class);
        }
    }
}

Mais pour openfeign habitué à la façon dont je suis, il est un peu foiré, mais chacun avait à l'adresse de connexion d'écriture et de la façon de fait avant d'appeler l'API externe est le même, rien de plus que les appels internes deviennent maintenant. Ensuite, les éléments suivants pour une utilisation sous la openfeign:

Tout d'abord introduit pour augmenter le fichier POM:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>

classe Début ajoute l'annotation:

@EnableFeignClients

Nouvel appel au service:

@FeignClient(name = "user")
public interface UserService {
    /**
     * 通过用户名,或者email获取用户名
     * @param email
     * @return
     */
    @GetMapping("/user/email/{email}")
    ComResponse<User> getUserByEmail(@PathVariable("email") String email);

    /**
     * 通过用户名,或者email获取用户名
     * @param telephone
     * @return
     */
    @GetMapping("/user/tel/{telephone}")
    ComResponse<User> getUserByTel(@PathVariable("telephone") String telephone);

    /**
     * 根据用户查询角色
     * @param userId
     * @return
     */
    @GetMapping("/role/list/{userId}")
    ComResponse<List<Role>> listByUser(@PathVariable("userId") Long userId);
    /**
     * 通过用户查询权限
     * @param roleId
     * @return
     */
    @GetMapping("/permission/list/{roleId}")
    ComResponse<List<Permission>> listByRole(@PathVariable("roleId") Long roleId);
}

Ce n'est pas encore un sentiment très familier il. Cela peut être introduit directement dans l'appel de service.

Il a publié 183 articles originaux · louange gagné 37 · vues 160 000 +

Je suppose que tu aimes

Origine blog.csdn.net/zhuwei_clark/article/details/104790681
conseillé
Classement