Я видел чванливую документацию по Flask и Django. В Flask я могу спроектировать и документировать свой API, написанный вручную. (Укажите, какие поля являются обязательными, необязательными и т. д. в разделах параметров).
Вот как мы делаем во Flask
class Todo(Resource):
"Describing elephants"
@swagger.operation(
notes='some really good notes',
responseClass=ModelClass.__name__,
nickname='upload',
parameters=[
{
"name": "body",
"description": "blueprint object that needs to be added. YAML.",
"required": True,
"allowMultiple": False,
"dataType": ModelClass2.__name__,
"paramType": "body"
}
],
responseMessages=[
{
"code": 201,
"message": "Created. The URL of the created blueprint should be in the Location header"
},
{
"code": 405,
"message": "Invalid input"
}
]
)
Я могу выбрать, какие параметры включать, а какие нет. Но как мне реализовать то же самое в Django? Документ Django-Swagger в
совсем не хорош. Моя главная проблема — как мне написать свой raw-json в Django.
В Django это автоматизируется, что не позволяет мне настраивать json. Как реализовать то же самое в Django?
Вот файл models.py
class Controller(models.Model):
id = models.IntegerField(primary_key = True)
name = models.CharField(max_length = 255, unique = True)
ip = models.CharField(max_length = 255, unique = True)
installation_id = models.ForeignKey('Installation')
serializers.py
class ActionSerializer(serializers.ModelSerializer):
class Meta:
model = Controller
fields = ('installation',)
urls.py
from django.conf.urls import patterns, url
from rest_framework.urlpatterns import format_suffix_patterns
from modules.actions import views as views
urlpatterns = patterns('',
url(r'(?P[0-9]+)', views.ApiActions.as_view()),
)
views.py
class ApiActions(APIView):
"""
Returns controllers List
"""
model = Controller
serializer_class = ActionSerializer
def get(self, request, installation,format=None):
controllers = Controller.objects.get(installation_id = installation)
serializer = ActionSerializer(controllers)
return Response(serializer.data)
Мои вопросы:
1) Если мне нужно добавить поле, скажите xyz, которого нет в моих моделях, как его добавить?
2) Тихий, аналогичный 1st< /strong>, если мне нужно добавить поле, которое принимает значения ч/б 3 предоставленных значения, то есть раскрывающийся список. как добавить его?
3) Как добавить необязательное поле? (поскольку в случае запроса PUT я могу обновить только 1 поле, а остальное оставить пустым, что означает необязательное поле).
4) И как мне добавить поле, которое принимает строку json, как это делает этот API?
Спасибо
Я могу делать все эти вещи во Flask, жестко запрограммировав свой API. Но в Django он автоматизирует мои модели, что не дает (как я считаю) доступа к настройке моего API. Во Flask мне просто нужно написать руками свой API, а затем интегрироваться со Swagger. Существует ли то же самое в Django?
Например, мне просто нужно добавить следующий json в мой код Flask и он ответит на все мои вопросы.
# Swagger json:
"models": {
"TodoItemWithArgs": {
"description": "A description...",
"id": "TodoItem",
"properties": {
"arg1": { # I can add any number of arguments I want as per my requirements.
"type": "string"
},
"arg2": {
"type": "string"
},
"arg3": {
"default": "123",
"type": "string"
}
},
"required": [
"arg1",
"arg2" # arg3 is not mentioned and hence 'opional'
]
},
Подробнее здесь: https://stackoverflow.com/questions/214 ... umentation
Документация по API Swagger ⇐ Python
Программы на Python
1732107870
Anonymous
Я видел чванливую документацию по Flask и Django. В Flask я могу спроектировать и документировать свой API, написанный вручную. (Укажите, какие поля являются обязательными, необязательными и т. д. в разделах параметров).
[b]Вот как мы делаем во Flask[/b]
class Todo(Resource):
"Describing elephants"
@swagger.operation(
notes='some really good notes',
responseClass=ModelClass.__name__,
nickname='upload',
parameters=[
{
"name": "body",
"description": "blueprint object that needs to be added. YAML.",
"required": True,
"allowMultiple": False,
"dataType": ModelClass2.__name__,
"paramType": "body"
}
],
responseMessages=[
{
"code": 201,
"message": "Created. The URL of the created blueprint should be in the Location header"
},
{
"code": 405,
"message": "Invalid input"
}
]
)
Я могу выбрать, какие параметры включать, а какие нет. [b]Но как мне реализовать то же самое в Django?[/b] Документ Django-Swagger в
совсем не хорош. Моя главная проблема — как мне написать свой raw-json в Django.
В Django это автоматизируется, что не позволяет мне настраивать json. [b]Как реализовать то же самое в Django?[/b]
Вот файл [b]models.py[/b]
class Controller(models.Model):
id = models.IntegerField(primary_key = True)
name = models.CharField(max_length = 255, unique = True)
ip = models.CharField(max_length = 255, unique = True)
installation_id = models.ForeignKey('Installation')
[b]serializers.py[/b]
class ActionSerializer(serializers.ModelSerializer):
class Meta:
model = Controller
fields = ('installation',)
[b]urls.py[/b]
from django.conf.urls import patterns, url
from rest_framework.urlpatterns import format_suffix_patterns
from modules.actions import views as views
urlpatterns = patterns('',
url(r'(?P[0-9]+)', views.ApiActions.as_view()),
)
[b]views.py[/b]
class ApiActions(APIView):
"""
Returns controllers List
"""
model = Controller
serializer_class = ActionSerializer
def get(self, request, installation,format=None):
controllers = Controller.objects.get(installation_id = installation)
serializer = ActionSerializer(controllers)
return Response(serializer.data)
Мои вопросы:
[b]1)[/b] Если мне нужно добавить поле, скажите xyz, которого нет в моих моделях, как его добавить?
[b]2)[/b] Тихий, аналогичный [b]1st< /strong>, если мне нужно добавить поле, которое принимает значения ч/б 3 предоставленных значения, то есть раскрывающийся список. как добавить его?
3)[/b] Как добавить необязательное поле? (поскольку в случае запроса PUT я могу обновить только 1 поле, а остальное оставить пустым, что означает необязательное поле).
[b]4)[/b] И как мне добавить поле, которое принимает строку json, как это делает этот API?
Спасибо
Я могу делать все эти вещи во Flask, жестко запрограммировав свой API. Но в Django он автоматизирует мои модели, что не дает (как я считаю) доступа к настройке моего API. Во Flask мне просто нужно написать руками свой API, а затем интегрироваться со Swagger. [b]Существует ли то же самое в Django?[/b]
Например, мне просто нужно добавить следующий [b]json[/b] в мой код Flask и он ответит на все мои вопросы.
# Swagger json:
"models": {
"TodoItemWithArgs": {
"description": "A description...",
"id": "TodoItem",
"properties": {
"arg1": { # I can add any number of arguments I want as per my requirements.
"type": "string"
},
"arg2": {
"type": "string"
},
"arg3": {
"default": "123",
"type": "string"
}
},
"required": [
"arg1",
"arg2" # arg3 is not mentioned and hence 'opional'
]
},
Подробнее здесь: [url]https://stackoverflow.com/questions/21455055/swagger-api-documentation[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия