У меня есть конечная точка API, в которую я хотел бы поместить текст в качестве тела.
Я пробовал этот код:
@post('/my-endpoint', { responses: {} }) async createFromCsv( @requestBody({content: {'application/text': {}}}) csv: string, ){ // code }
, но получаю ошибку:
UnsupportedMediaTypeError: Приложение / текст типа контента не поддерживается.
Я собрал код, приведенный выше, из комментариев, которые я нашел здесь: https://github.com/strongloop/loopback-next/blob/8ae8a0a81db205f052b81caaceece5303cd80ff2/packages/openapi-v3/src/decorators/request-body.decorator.ts#L68
Как мне получить текстовое сообщение?
Оказывается, код, который я выбрал из комментариев, был не совсем разумным.
Правильный тип содержимого для текста: text/plain.
text/plain
, например
@requestBody({content: {'text/plain': {}}}) csv: string
Существует также text/csv и text/html.
text/csv
text/html
Подробнее о типах MIME здесь (https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)