Чем стандарт должен быть для URL ReSTful?

Есть ли некоторая причина, почему Вы не можете использовать alloca () для выделения места, в котором Вы нуждаетесь на стековом фрейме на основе того, насколько большой объект действительно должен быть?

, Если Вы делаете это, и все еще арестовывать стек, помещать его в выделенную "кучу". Я настоятельно рекомендую не объявление его как статичное в основном () и помещение его в сегменте данных.

, Если это действительно должно быть настолько большим и Ваша программа не может выделить его на "куче", Ваша программа действительно не имеет никакого бизнеса, работающего на том типе машины для начала.

, Что (точно) Вы пытаетесь выполнить?

11
задан Jon Seigel 18 June 2010 в 12:50
поделиться

4 ответа

Добро пожаловать в запутанный мир того, что есть и что не является REST. Во-первых, я бы предположил, что вы читали об REST не в тех местах. Попробуйте RESTWiki в качестве хорошей отправной точки.

REST не лучшее решение для предоставления услуг передачи данных для вашего веб-приложения. «Веб-службы» (также известные как SOAP, XML-RPC, WSDL, HTTP-POX) могут быть хороши для этого, но архитектурный стиль REST гораздо больше ориентирован на сценарии клиент-сервер, чем на сценарии сервер-сервер.

Хватит думать о том, что URL-адреса выглядят так. То, как они выглядят, гораздо больше зависит от того, какую серверную среду вы используете для реализации службы RESTful, чем от дизайна самой службы. Клиент должен обнаруживать URL-адреса из ранее полученных представлений, поэтому ему действительно все равно, как выглядят URL-адреса.

Сказав это, Используя ваши примеры URL-адресов, чтобы попытаться отличить, по вашему мнению, должны быть разные ресурсы, у меня есть несколько других предложений.

Не редактируйте ресурсы. т.е. если у вас есть ресурс, доступ к которому осуществляется по URL-адресу http://example.org/TodaysWeather , никогда не создавайте ресурс по адресу http://example.org/V2/TodaysWeather . Есть много других лучших способов создания версий представлений, чем создание совершенно нового ресурса. Поищите в SO множество других дискуссий по этому поводу.

Что касается создания разных ресурсов для разных типов контента, я считаю, что это решение зависит от контекста. Если ваш конечный пользователь использует браузер для доступа к службе REST, и он достаточно сложен, чтобы понять разницу между JSON и XML, тогда создайте два ресурса.

9
ответ дан 3 December 2019 в 06:46
поделиться

Глагол не может быть помещенным в URL. Это не имеет смысла. Это уже в заголовке запроса. Когда вы отправляете запрос POST с GET в URL-адресе, это безумие.

Формат ответа обычно лучше всего помещать в URL-адрес, потому что заголовки не предоставляют простого и однозначного места для размещения этой информации.

s уже в заголовке запроса. Когда вы отправляете запрос POST с GET в URL-адресе, это безумие.

Формат ответа обычно лучше всего помещать в URL-адрес, потому что заголовки не предоставляют простого и однозначного места для размещения этой информации.

s уже в заголовке запроса. Когда вы отправляете запрос POST с GET в URL-адресе, это безумие.

Формат ответа обычно лучше всего помещать в URL-адрес, потому что заголовки не предоставляют простого и однозначного места для размещения этой информации.

3
ответ дан 3 December 2019 в 06:46
поделиться

Управление версиями: Я обычно это помещается там, где оно есть в вашем примере URL, и если версия не указана, вы должны ответить самой последней производственной версией. Одно из соображений заключается в том, следует ли помещать версию API в строку ответа для целей отладки клиента.

Форматы ответа:

3
ответ дан 3 December 2019 в 06:46
поделиться

Я с S.Lott - глагола * не должно * быть, так как вы хотите использовать тот же URL-адрес для чтения записи, что и для обновления ее, чтобы она считалась ОТДЫХ.

Content-type - это еще кое-что, что следует опустить, поскольку это та же запись, но с несколькими форматами кодирования. (Прочтите FRBR, чтобы узнать больше, чем вы когда-либо хотели знать о различиях). Решение о том, какую версию отправить в ответ, можно обработать с помощью заголовков HTTP Accept.

Единственное, что меня разрывает, - это номер версии, так как я лично не могу придумать подходящий HTTP-заголовок для обработки этого аспекта. этого. (Ожидайте? Accept-Encoding? Pragma? Может быть, даже Upgrade, но я бы подумал, что вы чаще захотите перейти на более старую версию из соображений совместимости) d, вероятно, имеет средство доступа без версии, которое предоставило самую последнюю производственную версию, но может подумать о том, чтобы иметь версию с существенными изменениями, которые не были обратно совместимы.

обновление: проблема версии, вероятно, зависит от насколько вы контролируете клиентов, подключающихся к вашим службам ... если у вас есть доступ из широкой публики (чего у меня нет), вас может больше заинтересовать обратная совместимость. В зависимости от внесенных изменений, возможно, вы также сочтете «версию 2» совершенно новым ресурсом, а не просто новой «версией» оригинала.

проблема версии, вероятно, зависит от того, насколько вы контролируете клиентов, подключающихся к вашим службам ... если у вас есть доступ из широкой публики (чего у меня нет), вас может больше заинтересовать обратная совместимость. В зависимости от внесенных изменений, возможно, вы также сочтете «версию 2» совершенно новым ресурсом, а не просто новой «версией» оригинала.

проблема версии, вероятно, зависит от того, насколько вы контролируете клиентов, подключающихся к вашим службам ... если у вас есть доступ из широкой публики (чего у меня нет), вас может больше заинтересовать обратная совместимость. В зависимости от внесенных изменений, возможно, вы также сочтете «версию 2» совершенно новым ресурсом, а не просто новой «версией» оригинала.

3
ответ дан 3 December 2019 в 06:46
поделиться
Другие вопросы по тегам:

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