Swagger 2.0 où déclarer Basic Auth Schéma
Comment définir l'authentification de base à l'aide de Swagger 2.0 annotations, et d'afficher dans le style de l'INTERFACE utilisateur.
Dans la ressource que j'ai:
@ApiOperation(value = "Return list of categories", response=Category.class, responseContainer="List", httpMethod="GET", authorizations = {@Authorization(value="basicAuth")})
public Response getCategories();
J'ai regardé ici:
https://github.com/swagger-api/swagger-core/wiki/Annotations#authorization-authorizationscope
Et il dit: "une Fois que vous avez déclaré et configuré pour lequel l'autorisation des régimes de vous soutenir dans votre API, vous pouvez utiliser ces annotations note régime d'autorisation est requis sur une ressource ou d'une opération spécifique" Mais je ne trouve rien qui parle de l'endroit où déclarer et configurer les régimes d'autorisation.
Mise à jour:
J'ai trouvé le code sur la façon de déclarer le schéma, mais je ne vois toujours pas d'informations sur le schéma d'authentification de l'INTERFACE utilisateur. Je ne suis pas sûr de ce que je suis absent de
@SwaggerDefinition
public class MyApiDefinition implements ReaderListener {
public static final String BASIC_AUTH_SCHEME = "basicAuth";
@Override
public void beforeScan(Reader reader, Swagger swagger) {
}
@Override
public void afterScan(Reader reader, Swagger swagger) {
BasicAuthDefinition basicAuthDefinition = new BasicAuthDefinition();
swagger.addSecurityDefinition(BASIC_AUTH_SCHEME, basicAuthDefinition);
}
}
Vous devez vous connecter pour publier un commentaire.
À l'aide de Springfox 2.6 annotations, vous devez d'abord définir l'authentification de Base comme l'un des régimes de sécurité lorsque vous configurez le Dossier dans votre configuration, comme ceci:
Ensuite, vous pouvez utiliser le Springfox annotations à votre service pour définir l'Authentification Basique pour l'opération pour laquelle vous souhaitez exiger l'authentification:
Je struggeled à cette situation. Dans mon cas, j'ai utilisé le swagger-maven-plugin. Pour résoudre cela, j'ai ajouté ceci dans le plugin maven:
Après que j'ai été en mesure de l'ajouter sur ma ressource comme ceci:
Le json généré inclus l'élément de sécurité pour chaque point de terminaison:
Et la définition de la sécurité:
J'espère que cela aide les autres.
Vous pouvez utiliser le @SwaggerDefinition
http://swagger.io/customizing-your-auto-generated-swagger-definitions-in-1-5-x/
ou vous pouvez configurer le style de l'objet directement, voici un exemple
http://www.programcreek.com/java-api-examples/index.php?source_dir=rakam-master/rakam/src/main/java/org/rakam/WebServiceRecipe.java