You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
value qui sert à définir l’URL sur laquelle on peut atteindre la méthode.
Et method qui définit le verbe HTTP pour interroger l’URL.
De nouvelles annotations sont dorénavant disponibles, telles que @GetMapping, @PostMapping, @PutMapping, @DeleteMapping qui permettent de ne spécifier que l’URL, tout en utilisant le verbe HTTP lié, présent juste avant le mapping.
Dans ce code, c'est l'annotation @GetMapping qui permet de faire le lien entre l'URI "/Produits", invoquée via GET, et la méthode listeProduits.
Structure de fichier pour éxécuter le code, le @scan lis de haut en bas
@Repository
cette annotation est appliquée à la classe afin d'indiquer à Spring qu'il s'agit d'une classe qui gère les données, ce qui nous permettra de profiter de certaines fonctionnalités
Cette annotation demande à Spring que le JSON contenu dans la partie body de la requête HTTP soit converti en objet Java
exemple d'API :
@RestController
@RequestMapping("/api/book")
public class BookController {
@Autowired
private BookRepository repository;
@GetMapping("/{id}")
public Book findById(@PathVariable long id) {
return repository.findById(id)
.orElseThrow(() -> new BookNotFoundException());
}
@GetMapping("/")
public Collection<Book> findBooks() {
return repository.getBooks();
}
@PutMapping("/{id}")
@ResponseStatus(HttpStatus.OK)
public Book updateBook(
@PathVariable("id") final String id, @RequestBody final Book book) {
return book;
}
}
@Autowired :
L'annotation @Autowired permet d'activer l'injection automatique de dépendance. Cette annotation peut être placée sur un constructeur, une méthode setter ou directement sur un attribut (même privé).
@SpringBootApplication
Nous utilisons cette annotation pour marquer la classe principale d'une application Spring Boot :
@SpringBootApplication
class VehicleFactoryApplication {
public static void main(String[] args) {
SpringApplication.run(VehicleFactoryApplication.class, args);
}
}
@EnableAutoConfiguration
@EnableAutoConfiguration , comme son nom l'indique, permet la configuration automatique. Cela signifie que Spring Boot recherche les beans de configuration automatique sur son chemin de classe et les applique automatiquement.
@ConditionalOnClass et @ConditionalOnMissingClass
En utilisant ces conditions, Spring n'utilisera le bean d'auto-configuration marqué que si la classe dans l' argument de l'annotation est présente/absente :
@ConditionalOnBean et @ConditionalOnMissingBean
Nous pouvons utiliser ces annotations lorsque nous souhaitons définir des conditions basées sur la présence ou l'absence d'un bean spécifique :
Nous pouvons utiliser cette annotation dans des situations plus complexes. Spring utilisera la définition marquée lorsque l' expression SpEL sera évaluée à true :
Pour des conditions encore plus complexes, nous pouvons créer une classe évaluant la condition personnalisée . Nous indiquons à Spring d'utiliser cette condition personnalisée avec @Conditional :
public class RestTemplate
extends InterceptingHttpAccessor
implements RestOperations
Classe centrale de Spring pour l'accès HTTP côté client. Elle simplifie la communication avec les serveurs HTTP et applique les principes RESTful. Elle gère les connexions HTTP, laissant le code d'application fournir des URL (avec d'éventuelles variables de modèle) et extraire les résultats.
Les principaux points d'entrée de ce modèle sont les méthodes nommées d'après les six principales méthodes HTTP
La Java Persistence API (abrégée en JPA), est une interface de programmation Java permettant aux développeurs d'organiser des données relationnelles dans des applications utilisant la plateforme Java.
Désavantages microservices :
compléxité de déploiement
Qu’est ce qu’un micro service et comment est composé un micro service :
Ce sont des modules avec des api à part les unes des autres par services et qui peuvent être développé et maintenable à part
Pourquoi met on en place des micro services :
Pour la scalabilité du code.
Quels sont les bienfaits d’une telle architecture
Les codes sont stockés à part, qui permet une moins grande compléxité du code et la garantie d'un code "stable".
Quels en sont les inconvénients
le déploiement est trop complexe
Comment s’articule l’orchestration des services dans système complexe…
Par services, exemple :
service panier / service authentification / service chat / home ect..
les entités
sont représentées par des classes. Une classe agit comme un plan pour créer des objets de ce type. Chaque instance d'une classe devient une entité avec son propre ensemble d'attributs et de comportements.