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

Всем, привет. Есть класический netcore 3.1 webapi. Контроллер наследуется от

ControllerBase помечен аттрибутом ApiController.
метод Post, переменная помечена аттрибутом FromBody.
Нужно что бы его можно было дергать с использованием одного из двух ContentType
application/json - по умолчанию. работает сейчас.
text/plain - если сейчас использую то дает ошибку:
"title": "Unsupported Media Type",
"status": 415,
Гугл говорит:
1. Если ошибка "title": "Unsupported Media Type" при text/plain - то выбирай application/json. Я это и сам знаю и это мне не подходит.
2. Писать собственный форматер.
3. Сказать что text/plain не поддерживается, т.к. большие накладные расходы. Типа очень дорого по сравнению с application/json.

Кто нибудь сталкивался с такого рода проблемой? как подружить два формата без пункта 2?

13 ответов

4 просмотра

А ты указал, что данные должны приходить в json?

Dmitriy-Gavrikov Автор вопроса
Musa Musaev
screenshot

нет, сейчас попробую. Я чет думал что это надо указывать для application/json типа что бы знать чем десириализацию делать. Но т.к. у меня и так работает, а объекты гоняю через System.Text.Json (он пошустрее).

Dmitriy-Gavrikov Автор вопроса
Musa Musaev
screenshot

та же фигня. только ещё и application/json перестал работать. такое впечатление что ему теперь нужен xform, а не переменная с body

Dmitriy Gavrikov
та же фигня. только ещё и application/json переста...

Оставь как есть. Теперь перейдем к тому какой ты отправляешь запрос. Скинь запрос со всеми хедерами. И покажи как ты поставил атрибут в родительском классе BaseController

Dmitriy-Gavrikov Автор вопроса
Musa Musaev
Оставь как есть. Теперь перейдем к тому какой ты о...

$response = Invoke-WebRequest -Uri "..." -Method Post -Body $body -ContentType "application/json"

Dmitriy Gavrikov
$response = Invoke-WebRequest -Uri "..." -Method P...

ContentType относится к headers. Его нельзя в тело записывать

Dmitriy-Gavrikov Автор вопроса
Musa Musaev
ContentType относится к headers. Его нельзя в тело...

Понимаю что надо в Headers раньше работало до установки пакета

Dmitriy Gavrikov
Понимаю что надо в Headers раньше работало до уста...

Body же в виде json отправляешь? Ошибка на скрине говорит, что поля не прошли валидацию

Dmitriy-Gavrikov Автор вопроса
Musa Musaev
Body же в виде json отправляешь? Ошибка на скрине ...

если это завернуть не в raw application/json а в x-form то всё ок. либо убрать services.AddControllers().AddNewtonsoftJson(); Тогда тоже заработает.

Никак. Как ты вообще себе text/plain представляешь?

Dmitriy-Gavrikov Автор вопроса
Vabka
Никак. Как ты вообще себе text/plain представляешь...

Как поток байтов преобразованный к стрингу. Вот и я о том же. Т.е. получается свой обработчик вешать.

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта