Есть ли некоторая причина, почему Вы не можете использовать alloca () для выделения места, в котором Вы нуждаетесь на стековом фрейме на основе того, насколько большой объект действительно должен быть?
, Если Вы делаете это, и все еще арестовывать стек, помещать его в выделенную "кучу". Я настоятельно рекомендую не объявление его как статичное в основном () и помещение его в сегменте данных.
, Если это действительно должно быть настолько большим и Ваша программа не может выделить его на "куче", Ваша программа действительно не имеет никакого бизнеса, работающего на том типе машины для начала.
, Что (точно) Вы пытаетесь выполнить?
Добро пожаловать в запутанный мир того, что есть и что не является 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, тогда создайте два ресурса.
Глагол не может быть помещенным в URL. Это не имеет смысла. Это уже в заголовке запроса. Когда вы отправляете запрос POST с GET в URL-адресе, это безумие.
Формат ответа обычно лучше всего помещать в URL-адрес, потому что заголовки не предоставляют простого и однозначного места для размещения этой информации.
s уже в заголовке запроса. Когда вы отправляете запрос POST с GET в URL-адресе, это безумие.Формат ответа обычно лучше всего помещать в URL-адрес, потому что заголовки не предоставляют простого и однозначного места для размещения этой информации.
s уже в заголовке запроса. Когда вы отправляете запрос POST с GET в URL-адресе, это безумие.Формат ответа обычно лучше всего помещать в URL-адрес, потому что заголовки не предоставляют простого и однозначного места для размещения этой информации.
Управление версиями: Я обычно это помещается там, где оно есть в вашем примере URL, и если версия не указана, вы должны ответить самой последней производственной версией. Одно из соображений заключается в том, следует ли помещать версию API в строку ответа для целей отладки клиента.
Форматы ответа:
Я с S.Lott - глагола * не должно * быть, так как вы хотите использовать тот же URL-адрес для чтения записи, что и для обновления ее, чтобы она считалась ОТДЫХ.
Content-type - это еще кое-что, что следует опустить, поскольку это та же запись, но с несколькими форматами кодирования. (Прочтите FRBR, чтобы узнать больше, чем вы когда-либо хотели знать о различиях). Решение о том, какую версию отправить в ответ, можно обработать с помощью заголовков HTTP Accept.
Единственное, что меня разрывает, - это номер версии, так как я лично не могу придумать подходящий HTTP-заголовок для обработки этого аспекта. этого. (Ожидайте? Accept-Encoding? Pragma? Может быть, даже Upgrade, но я бы подумал, что вы чаще захотите перейти на более старую версию из соображений совместимости) d, вероятно, имеет средство доступа без версии, которое предоставило самую последнюю производственную версию, но может подумать о том, чтобы иметь версию с существенными изменениями, которые не были обратно совместимы.
обновление: проблема версии, вероятно, зависит от насколько вы контролируете клиентов, подключающихся к вашим службам ... если у вас есть доступ из широкой публики (чего у меня нет), вас может больше заинтересовать обратная совместимость. В зависимости от внесенных изменений, возможно, вы также сочтете «версию 2» совершенно новым ресурсом, а не просто новой «версией» оригинала.
проблема версии, вероятно, зависит от того, насколько вы контролируете клиентов, подключающихся к вашим службам ... если у вас есть доступ из широкой публики (чего у меня нет), вас может больше заинтересовать обратная совместимость. В зависимости от внесенных изменений, возможно, вы также сочтете «версию 2» совершенно новым ресурсом, а не просто новой «версией» оригинала. проблема версии, вероятно, зависит от того, насколько вы контролируете клиентов, подключающихся к вашим службам ... если у вас есть доступ из широкой публики (чего у меня нет), вас может больше заинтересовать обратная совместимость. В зависимости от внесенных изменений, возможно, вы также сочтете «версию 2» совершенно новым ресурсом, а не просто новой «версией» оригинала.