170 похожих чатов

Так. go-swagger, его UI. MyDefinition: type: object

discriminator: action
required:
- action
properties:
action:
type: string
enum:
- MyDefinitionActionOne
- MyDefinitionActionTwo
MyDefinitionActionOne:
allOf:
- $ref: '#/definitions/MyDefinitionAction'
- type: object
# ...
MyDefinitionActionTwo:
allOf:
- $ref: '#/definitions/MyDefinitionAction'
- type: object
#...

Не показывает в UI модели MyDefinitionActionOne и MyDefinitionActionTwo.

Но главное - их не есть Postman. Тьфу пропасть. Модель данных в json руками что-ли писать в итоге?

48 ответов

52 просмотра

задача-то твоя в чем?

🏳️ Phil-Kulin Автор вопроса

1. Две разные валидации в зависимости от поля (кнопки по факту) 2. Составление json в ручную для теста сложное, а все инструменты отказались понимать полиморфный тип для визуализации

ты тут в энам строку будто объект хочешь засунуть...

🏳️ Phil-Kulin Автор вопроса
Александр Костюченко
ты тут в энам строку будто объект хочешь засунуть....

И будто бы спецификация Open API так позволяет. Та-да. И главное - go-swagger очень внезапно по спецификации генерирует рабочий объект https://goswagger.io/use/spec/discriminated.html

🏳️ Phil Kulin
1. Две разные валидации в зависимости от поля (кно...

ты же понимаешь, что полиморфизм для API - абсолютное зло?

🏳️ Phil-Kulin Автор вопроса

Это спека

🏳️ Phil-Kulin Автор вопроса
Daniel Podolsky
ты же понимаешь, что полиморфизм для API - абсолют...

1. Не очень понятно как отработать 2 кнопки 2. Куча ситуаций со списками похожих

🏳️ Phil Kulin
1. Не очень понятно как отработать 2 кнопки 2. Куч...

1. почему ты вообще мыслишь в терминах кнопок? ты во фронтендеры подался? 2. списки похожих - это одно, а полиморфизм - другое.

Гы гы) добро пожаловать в клуб 😂 Между спецификацией и реальными возможностями находится буквально пропасть

🏳️ Phil-Kulin Автор вопроса
Daniel Podolsky
1. почему ты вообще мыслишь в терминах кнопок? ты ...

1. Хорошо. У меня разная верификация в зависимости от некоего признака. 2. Нет, не понимаю. Хорошо, списки чего то,что похоже только id

🏳️ Phil Kulin
1. Хорошо. У меня разная верификация в зависимости...

разная бизнес логика или просто разные реквесты?

🏳️ Phil-Kulin Автор вопроса
🏳️ Phil Kulin
1. Хорошо. У меня разная верификация в зависимости...

у меня есть к тебе радикальное предложение: proto+protovalidate+grpc-gateway+grpc ко всему этому надо приложить buf и генерацию сваггера из proto у нас будет об этом доклад на конфе, но тебя я и сейчас готов проконсультировать

Daniel Podolsky
у меня есть к тебе радикальное предложение: proto...

а можно ссылку на доклад, чтоб послушать?

Alisher
Еще не состоялся

А что за конфа? Когда будет ?

Artur
А что за конфа? Когда будет ?

Прогуглите голанг конф, там есть анонс, дату не помню

🏳️ Phil-Kulin Автор вопроса
Daniel Podolsky
у меня есть к тебе радикальное предложение: proto...

Это ты усложняешь. Хрен с ним с (1), там лучше действительно сделать отдельным ендпойнтом с разными definition, совпадающим по полям. А вот со списком засада. Последовательный список текста и картинок.

🏳️ Phil Kulin
Это ты усложняешь. Хрен с ним с (1), там лучше дей...

Ты хочешь разом все файлы загрузить? У тебя действительно там процесс верификации документов? Я просто думал, что ты ошибся терминами

🏳️ Phil-Kulin Автор вопроса
🏳️ Phil Kulin
1. Хорошо. У меня разная верификация в зависимости...

2. Сделать объект, где каждый другой объект - необязательное поле. Но если он есть, то там проверка уже обязательная. Спасибо, доктор

🏳️ Phil-Kulin Автор вопроса
Artur
Ты хочешь разом все файлы загрузить? У тебя действ...

Да причём тут файлы. Просто вразнобой текст и ссылки на картинки

🏳️ Phil Kulin
Да причём тут файлы. Просто вразнобой текст и ссыл...

[ { "data": "http://url/image.jpeg", "type": "image" }, { "data": "my-text", "type": "text" } ]

🏳️ Phil-Kulin Автор вопроса
wm0
[ { "data": "http://url/image.jpeg", "...

Супер. И как это выглядит в swagger.yaml? И во что должно превратиться в Go?

🏳️ Phil Kulin
Супер. И как это выглядит в swagger.yaml? И во что...

Ну вроде стандартная структура, которая соенерится гошкой, все поля одинаковые, только значения разные

🏳️ Phil-Kulin Автор вопроса
wm0
Ну вроде стандартная структура, которая соенерится...

Стоп. Я хочу использовать такие плюшки swagger как "я написал проверку за тебя"

🏳️ Phil Kulin
2. Сделать объект, где каждый другой объект - необ...

Вы можете определить внутри самого объекта, какие поля required/no-required, а далее его встраивать в другие объекты как no-required То есть, если объект передаётся, то его поля будут проверяться (но здесь конечно нужно, чтобы его передавали явно)

🏳️ Phil Kulin
Стоп. Я хочу использовать такие плюшки swagger как...

Я подумал, что речь про валидацию в го. Зачем в свагере валидация такая?

🏳️ Phil-Kulin Автор вопроса
🏳️ Phil-Kulin Автор вопроса
wm0
[ { "data": "http://url/image.jpeg", "...

Хорошо, а если набор полей разный?

🏳️ Phil Kulin
Хорошо, а если набор полей разный?

Либо разные эндпоинты, либо общий внутри data сделать возможность отправить всевозможные наборы полей. Например для image один набор в {}, для текста другой и тд и также по типу выбирать какое поле парсить

🏳️ Phil Kulin
Хорошо, а если набор полей разный?

Если набор полей разный - то это разные объекты, очевидно же)

🏳️ Phil-Kulin Автор вопроса
🏳️ Phil Kulin
Как сделать их список?

Список чего? Объектов или полей?

🏳️ Phil-Kulin Автор вопроса
А4 Одноногое
Вы можете определить внутри самого объекта, какие ...

type: object required: - id properties: id: type: string format: uuid objone: $ref: '#/definitions/ObjOne' objtwo: $ref: '#definitions/ObjTwo' definitions: ObjOne: type: object required: - field1 properties: field1: type: integer ObjTwo: type: object required: - field1 - field2 - field3 properties: field1: type: string field1: type: integer field1: type: bool типа так

🏳️ Phil Kulin
type: object required: - id prope...

И в чём здесь заключается проблема?

🏳️ Phil-Kulin Автор вопроса
А4 Одноногое
Да

И единственная проблема которая остаётся - не прилетело ничего. Но это вручную проверяется быстрее, чем мучения с allOf. Да, спасибо

🏳️ Phil Kulin
И единственная проблема которая остаётся - не прил...

Можно обернуть в ещё один объект, который в запросе будет required

🏳️ Phil Kulin
И единственная проблема которая остаётся - не прил...

А почему это проблема? object, который вы написали выше, в запросе делаете required

Daniel Podolsky
у меня есть к тебе радикальное предложение: proto...

Вы считаете вершиной применения дженериков функции must и pointer и при этом даёте консультации? Надеюсь бесплатные?

Какие дженерики — такие и вершины применения хД

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
62
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
13
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
А кто-нибудь запихивал сборку перловых модулей/образов с perl приложениями в окружения без интернета (в специализированном CI/CD)? У меня сейчас есть ряд cpanfile, которые н...
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
14
Кстати а покупал кто-нибудь ЭЦП для подписи кода? А то у меня на некоторых компах и ОС иногда SmartScreen винды программу за вирус принимал. Если купить такую ЭЦП и подписыват...
Дмитрий Завгородний
15
Карта сайта