Swagger макет сервера

У меня есть ссылка API в файле Swagger. Я хочу создать очень простой макет сервера, чтобы при звонке, например:

mymockurl.com/users он вернет предопределенный JSON (не нужно подключаться к базе данных).

Какой самый простой способ сделать это? Я не бэкэнд-парень.

Ответы на вопрос(8)

Самозванец этоСкриптовый, многоцелевой макет-сервер.

Очень легко настроить вдокер среда и обеспечиваетSwagger UI играть с вашим макетом API.

Давайте посмотрим пример настройки

Иметь готовую конфигурацию в файле в папкеconfig/petstore.yaml

swagger: "2.0"
info:
version: 1.0.0
title: Swagger Petstore
    .
    .
    .

Вы можете скопировать пример спецификации Swagger изВот.

Создайте файл конфигурации дляСамозванец вconfig/openapi-plugin-petstore-config.json

{
  "plugin": "com.gatehill.imposter.plugin.openapi.OpenApiPluginImpl",
  "specFile": "petstore.yaml"
}

Имя файла конфигурации должно заканчиваться-config.json.

БежатьСамозванец сдокер

Убедитесь, что ваша оболочка находится в родительском каталогеconfig и беги

docker run -ti -p 8443:8443 \
-v $(pwd)/config:/opt/imposter/config \
outofcoffee/imposter-openapi

открытоHTTP: // локальный: 8443 / _spec / играть с вашим Mock Server и Swagger UI

 Akash02 июл. 2019 г., 22:23
@outofcoffee Мне нравится самозванец, и его легко настроить на моем Mac. просто интересно, можно ли использовать самозванец без докера специально в windows машинах.
 outofcoffee03 июн. 2017 г., 21:21
Раскрытие информации: я автор вышеупомянутого проекта, Imposter. Поскольку оригинальный постер спрашивал о «простейшем способе сделать это», я также хотел бы указать вам на бесплатную версию Imposter, размещенную наremotebot.io/mocks - размещенная версия не требует, чтобы вы что-то запускали самостоятельно, просто загрузите свою спецификацию Swagger API, и это мгновенно создаст насмешку.

MockLab теперь поддерживает автоматическую генерацию фиктивных API из импортированного определения Swagger. И вы также можете настроить его как веб-крюк, полученный в Swaggerhub, чтобы он обновлялся при каждом сохранении / публикации:

https://www.mocklab.io/blog/mocklab-now-supports-swagger-and-swaggerhub/

Swagger Codegen генерировать заглушку сервера в разных серверных инфраструктурах (например, Java Spring. PHP Slim, Ruby on Rails5 и т. д.).

Вот соответствующая документация:

https://github.com/swagger-api/swagger-codegen/wiki/Server-stub-generator-HOWTO

ОБНОВЛЕНИЕ: В мае 2018 года около 50 ведущих участников Swagger Codegen решили раскошелиться на проект для создания управляемой сообществом версии под названиемOpenAPI Generator, Пожалуйста, обратитесь кВопрос & по причинам за вилкой.

 elizabetht06 апр. 2017 г., 17:07
Я открыл вопрос несколько дней назад, но пока не получил ответа:github.com/swagger-api/swagger-codegen/issues/5310 Я тоже пытался использовать инфлектор, но безуспешно. Как я могу получить предопределенные ответы JSON, которые будут возвращены с помощью Swagger? Разработчик пользовательского интерфейса хотел бы попробовать API и посмотреть пример ответа.
 elizabetht04 апр. 2017 г., 17:43
Будет ли это возвращать предопределенные ответы JSON? Можете ли вы помочь @ wing328?
 William Cheng05 апр. 2017 г., 16:20
Это может зависеть от генератора. Пожалуйста, начните обсуждение вgithub.com/swagger-api/swagger-codegen/issues вместо.
 William Cheng07 апр. 2017 г., 01:39
Позвольте мне взглянуть позже сегодня ...

Я создал докер Swagger Editor, Swagger UI и Swagger mock api server для более удобной работы с ними. Проверьте это. В этом примере есть образец спецификации, поэтому редактор, пользовательский интерфейс и фиктивный сервер API будут работать без какой-либо настройки с самого начала. Все, что вам нужно сделать, это отредактировать спецификацию swagger, сохранить swagger.json и swagger.yaml и перезапустить Docker.

чванство-все-в-одном-докер-Compose

 sɐunıɔןɐqɐp27 июл. 2018 г., 09:12
Добро пожаловать в переполнение стека! Хотя ссылки являются отличным способом обмена знаниями, они не будут действительно отвечать на вопрос, если они будут нарушены в будущем. Добавьте к своему ответу основное содержание ссылки, которая отвечает на вопрос. В случае, если содержание слишком сложное или слишком большое, чтобы поместиться здесь, опишите общую идею предложенного решения. Не забывайте всегда сохранять ссылку на сайт оригинального решения. Увидеть:Как мне написать хороший ответ?

Здесьдок-контейнер для макета API сервера от Swagger YAML.

docker run -i \
    -p 8000:8000 \
    -v /path/to/file.yaml:/data/swagger.yaml \
    -t palo/swagger-api-mock:latest

Это внутренне используетчванство-макет апи

OpenAPI-макет это оболочка CLI длячванство-узел-бегун а такжераскачивание специально для запуска фиктивного сервера из файла спецификации openapi / swagger.

 Tomasz Przychodzki27 июн. 2018 г., 16:47
Если он работал только для того, чтобы вернуть пример данных из определения Swagger сервером mock it, или это только я, кто не знает, как его настроить ...

Простой способ создать простой макет из спецификации OpenAPI (fka. Swagger) без кода - использовать вызов инструментапризма можно купить вhttp://github.com/stoplightio/prism

Эта командная строка - все, что вам нужно:

./prism run --mock --list --spec <your swagger spec file>

Макет сервера вернет динамический ответ, основанный на спецификации OpenAPI. Если в спецификации предоставлены примеры, призма вернет их, если нет, то будет генерировать фиктивные данные на основе спецификации.

 Benxamin20 нояб. 2017 г., 22:56
Спасибо за разъяснение "Open API (fka. Swagger)"! Я немного опоздал на эту игру.
 Tomasz Przychodzki27 июн. 2018 г., 12:20
Похоже, что эта опция «запустить» устарела и больше не доступна в новейшей версии призмы. Очевидно, он был заменен на «макет», но я не нашел замены для «--list»
 Philipp Paland16 нояб. 2016 г., 10:29
Страница переместилась наstoplight.io/platform/prism - Также смgithub.com/stoplightio/prism
 Thomas11 сент. 2018 г., 11:13
Просто коротко: призма не является программным обеспечением с открытым исходным кодом, и сама лицензия призмы неясна. Лицензированные установщики MIT загружают двоичный пакет призмы.
Решение Вопроса

SwaggerHub обеспечиваетмакет сервера для OpenAPI 2.0 и 3.0 спецификации. Насмешка поддерживается как на бесплатных, так и на платных тарифах.

Чтобы использовать фиктивный сервер, импортируйте свою спецификацию в SwaggerHub и включите «Auto Mocking API». Ложные ответы могут быть JSON, YAML и XML, и генерируются на основе ваших схем ответов иexample, default а такжеenum значения, определенные в схемах.

раскрытие: Я работаю в компании, которая делает SwaggerHub.

 rafakob29 дек. 2017 г., 23:55
Большой! Он делает именно то, что мне нужно! Я отмечаю это как ответ. Единственное, что мне не нравится, это ценообразование - должен быть меньший план для фрилансеров, которые просто хотят иметь пару частных API.

Ваш ответ на вопрос