При отправке запроса вам необходимо установить заголовок запроса Accept
, который установлен на application/bson
:
Accept: application/bson
Используя Content-Type: application/bson
, вы 'Мы фактически говорим, что тело запроса, которое вы отправляете, это BSON, но так как это запрос GET, вы вообще не отправляете тело.Использование Accept: application/bson
говорит о том, что вы хотите вернуть BSON в ответе.
Этот ответ в WebMasters StackExchange объясняет разницу между Accept
и Content-Type
более подробно.
Кроме того, что здесь требуется заголовок Accept
, вам также потребуется вернуть объект или массив из вашего действия, в противном случае сериализатор BSON завершится с таким сообщением, как:
Ошибка записи строкового значения.BSON должен начинаться с объекта или массива.Путь ''.
Чтобы вернуть объект, вы можете сделать что-то вроде этого:
[HttpGet]
public IActionResult GetTestBson()
{
return Ok(new { Value = "test string bson" });
}
Это возвращает новый анонимный тип со свойством Value
-вы не можете просто вернуть существующий string
как object
, так как объект BSON должен иметь свойства.