Comment changer l'url de base uniquement pour le repos des contrôleurs?
Est-il une option de configuration qui vous permet de changer l'url de base uniquement pour le repos des contrôleurs, par exemple si mon api de l'url de base est www.example.com/user/{id} devient www.example.com/rest/user/{id} ?
Je suis à l'aide de spring boot v1.3.2
J'ai essayé de créer des annotations personnalisées qui s'étend RestController en ajoutant RequestMapping.
Voici l'exemple, mais il ne fonctionne pas.
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@RestController
@RequestMapping(value = "/rest", path = "/rest")
public @interface MyRestController { }
- Double Possible de: stackoverflow.com/questions/32927937/...
Vous devez vous connecter pour publier un commentaire.
Option 1: Annotations Personnalisées
Créer une Annotation qui déclare l'URL de base et de l'utiliser à la place de @RestController.
CustomRestControllerAnnotation.java
FirstRestController.java
SecondRestController.java
Option 2: Base RestController
Par la création d'un Contrôleur de Base qui sert de modèle pour l'ensemble de vos Contrôleurs, vous pouvez gérer efficacement la racine de l'URL à partir d'un seul emplacement.
BaseRestController.java
Ensuite, il vous suffit d'étendre cette classe pour l'ensemble de vos Contrôleurs.
FirstRestController.java
SecondRestController.java
Option 3: le Printemps des Données RESTE
Si vos Contrôleurs sont au service de Données à partir d'un Référentiel, puis Ressort des Données de REPOS peut prendre beaucoup de la standard & résoudre votre problème initial.
pom.xml
En déclarant cette dépendance, l'ensemble de vos Dépôts deviennent automatiquement RESTE activé.
Vous pouvez contrôler l'URL de base à l'aide d'un fichier de propriétés.
application.propriétés
Mise à jour de config pour le Printemps de Démarrage v2.1.0
Au Printemps de Démarrage v2.1.0 vous pouvez configurer l'URL de base dans
application.properties
commeserver.servlet.context-path = /baseApiName
Propriété complète de la configuration de la liste
En règle générale, vous définissez une servlet qui gère tous les (ou un ensemble) de votre réparateur demandes. Vous pouvez alors dire que le servlet pour écouter un certain modèle d'URL comme
/rest
. Le@RequestMapping
annotations de vos contrôleurs sont pas au courant de 'haut niveau' modèle.Par exemple, lors de l'amorçage de votre Ressort de l'Application Web, vous pouvez créer que reposant servlet manuellement et ajouter un mappage. L'ensemble de la configuration est un peu trop grand pour être posté ici, mais de trouver un extrait de code ci-dessous pour obtenir une notion.
Vous devez ajouter
server.servlet-path=/api
sur votre application.fichier de propriétés et toutes les demandes que vous devez envoyer comme domaine/api/utilisateurs/{id}