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 ответов

100 просмотров

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

🏳️ 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
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 Автор вопроса
А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 и при этом даёте консультации? Надеюсь бесплатные?

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

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Oh sorry did you want it in Gunter's chains?
Martin Rys
15
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта