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

Всім привіт. Маю питання. Хочу в квері запиту мати свій

власний формат сутності.
Наприклад, маю клас

class Jopa {
public string Small { get; init;}
public long Big { get; init; }
}


І якщо маю зараз:

public IActionResult Something([FromQuery] Jopa jop)

То він його трансформує у ?small=Yes&Big=1

Але хочеться зробити так, щоб трансформувались як ?[Yes,1] (це як приклад).

Серіалізатор на таке написав, але як виявилось його asp.net не юзає для реквестів. Не підкажете як правильно це реалізувати? (Ймовірно через ModelBinder, чи щось на кшталт цього?)

10 ответов

24 просмотра

Це близько до мапінгу масиву

Ihor-Volokhovych Автор вопроса
Andrii Kurdiumov
Це близько до мапінгу масиву

Мені не зовсім зрозуміло механізм, по якому asp.net мапить щось з квері, або з руту. Якби дізнатись як можна створити або власний атрибут, або власний серіалізатор для необхідного типу

FromQuery это параметры в адресной строке передаются?

Ihor-Volokhovych Автор вопроса
Alexander
FromQuery это параметры в адресной строке передают...

Не зовсім зрозумів питання, але спробую відповісти. Якщо мається на увазі в руті (щось типу api/v1/{YOURVALUE}), то ні. Якщо в цілому в адресній строці, то так (типу api/v1?{QUERYVALUE})

Ihor Volokhovych
Не зовсім зрозумів питання, але спробую відповісти...

Ну типа как у гугла, да... А есть разница какая-то между подходами?

Ihor Volokhovych
Мені не зовсім зрозуміло механізм, по якому asp.ne...

https://github.com/dotnet/aspnetcore/blob/39564d529f84f7a3bbac5b28ba11060e8ac30375/src/Mvc/Mvc.Core/src/ModelBinding/QueryStringValueProviderFactory.cs#L21-L30

Ihor-Volokhovych Автор вопроса
Alexander
Ну типа как у гугла, да... А есть разница какая-то...

Ну, наскільки памʼятаю з документації: Те що в руті -- обовʼязкове для виконання ендпоїнту. Те що в квері -- необовʼязкові параметри й без них ендпоїнт має теж працювати. Грубо кажучи, як додаткові фільтри

Ihor-Volokhovych Автор вопроса
Andrii Kurdiumov
https://github.com/dotnet/aspnetcore/blob/39564d52...

Дуже дякую! Буду досліджувати й намагатися реалізувати для своїх потреб (звісно ж з виєбаними байтами за канонами Єгора)

https://learn.microsoft.com/en-us/aspnet/core/mvc/advanced/custom-model-binding?view=aspnetcore-7.0

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта