Hoje vou apresentar a você o Swagger, uma ferramenta usada no desenvolvimento diário. Swagger é uma ferramenta de geração de documentos RESTful.
A descrição oficial é 「The Best APIs are Built with Swagger Tools」
muito dominadora.
Swagger pode ser usado em vários frameworks de linguagem. Por exemplo, o framework flask em Python tem "flask-restful-swagger", o framework Django "django-rest-swagger" e até mesmo tornado está disponível, mas o uso é muito menor do que os dois anteriores.
Como o swagger é poderoso e há tantas ferramentas integradas, hoje entendemos principalmente o swagger-ui.
Por que usar swagger-ui
Muitas vezes existe um ditado no mundo da programação, duas coisas que os programadores mais odeiam:
1. Escreva notas e documentos 2. Outros não escrevem notas ou documentos.
por que você diria isso? Como é problemático gerenciar as anotações de documentos, as atualizações de API ocorrem frequentemente, os documentos ainda são antigos e ocorrem várias inconsistências de sincronização. Isso causa muitos problemas e atrasa o tempo uns dos outros, então nem todos gostam de escrever comentários sobre a documentação.
O principal motivo para usar o swagger é que ele pode reduzir o problema de sincronização de nossos documentos de desenvolvimento front-end e back-end. O Swagger pode gerar documentos API automaticamente a partir de nossos comentários de código para facilitar o encaixe do front-end.
Em segundo lugar, ele pode exibir a lista de todas as nossas interfaces, o que é muito conveniente para executarmos a depuração de interface na parte frontal e posterior. A interface de encaixe do aluno front-end pode ser operada diretamente na página, e não há necessidade de alternar entre ferramentas de rede como carteiro e PAW, que é muito simples e conveniente.
Abaixo, chego a uma definição de tabela de dados de visualização oficial:
Instalação e uso do Django swagger
A seguir, vamos falar sobre o processo de instalação e uso. Como somos principalmente baseados em Python, apresentaremos o swagger-ui. Aqui, apresentaremos brevemente o uso do Django:
pip install django-rest-swagger
要求 : Django 1.8+ Django REST framework 3.5.1+ Python 2.7, 3.5, 3.6
no INSTALLED_APPS
INSTALLED_APPS = ( ... 'rest_framework_swagger', )
Adicionar endereço do documento:
from django.conf.urls import urlfrom rest_framework_swagger.views import get_swagger_view schema_view = get_swagger_view (title = 'Pastebin API') test_urlpatterns = [ url (r '^ $', schema_view) # Aqui você personaliza o diretório do documento] #Aqui precisamos Observe que ele é usado em um ambiente local ou de teste. Não pode ser usado online. A maneira mais fácil é a que mencionei antes, para julgar o ambiente atual através de variáveis de ambiente para adicionar este test_urlpatterns. se current_env não estiver em ['product', 'staging']: url_patterns = url_patterns + test_urlpatterns
O resultado final é um efeito semelhante:
Se você cooperar com o Django-filter, será mais conveniente realizar testes de triagem de front-end.É quase uma questão de levantar as mãos para a página de gerenciamento do XXX. Pode-se dizer que Swagger e Django-REST-Framework melhoram muito a velocidade de adição, exclusão e modificação de gravação de back-end (CRUD) e conclusão do encaixe.
Use em outros idiomas
Swagger não é usado apenas em Python, mas pode ser usado em outras estruturas de linguagem. Eu recomendo a todos que o usem, independentemente de ser um programador Python ou não.
Endereço de integração de outra ferramenta de linguagem:https://swagger.io/tools/open-source/open-source-integrations/
Não sei quantas empresas existem. Toda vez que a API é atualizada, a documentação não é atualizada, o que causa inconsistências no docking. De qualquer forma, tenho ouvido comentários de amigos ao meu redor.
Se você achar que sua empresa está passando por essa situação, gagueje rapidamente.
O texto acima é minha introdução ao swagger-ui. Ferramentas swagger reais também têm duas outras ferramentas poderosas, editor swagger e codegen swagger. Se você estiver interessado, pode descobrir por si mesmo.