Примечание: TL; DR внизу:)
На моем текущем рабочем месте наши API обычно возвращают JSON объектов в 90% случаев, однако некоторые проще конечные точки в настоящее время возвращают простой простой текст, например конечные точки:
GET ../entity/lastChange
(возвращает последнее обновленное значение dateTime для определенного типа объекта) - возвращает "2019-08-02 11:26:32.341817-07:00"
GET ../css?platform=android
(возвращает CSS контент, который используется для динамического c стиля на основе платформы) - возвращает ".my-class { color: red; }"
Я прочитал рекомендации REST (https://www.w3.org/Protocols/rfc2616/rfc2616.html ) и не смог найти никакой информации об этом. Я также прочитал несколько постов на одну и ту же тему c, но, похоже, они сосредоточены на том, можем ли мы, а не должны ли мы.
Я думаю о том, что часто это удобно получить результат в виде строки / обычного текста напрямую, однако это часто приводит к проблемам в хрупкой архитектуре или определенных клиентах (например, Angular HttpClient, ожидающий, что действительные JSON объекты будут возвращены со всех конечных точек). Я думаю о том, чтобы добавить обобщенный класс c SimplApiResult<T> { public T Result { get; set; } }
, который можно повторно использовать в нескольких API для обертывания базовых c типов ответов.
TL; DR : Если простые конечные точки RESTful возвращают простой текст, где это уместно, или простые JSON структуры, например:
- Простой текст
"2019-08-02 11:26:32.341817-07:00"
- Простой json
{ "result": "2019-08-02 11:26:32.341817-07:00" }
Спасибо !!