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:
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.