использование ПОМЕЩЕННОГО HTTP, но не полностью заменяет объект

Если все вышеперечисленное не работает, вам нужно отладить и убедиться, что функция onCreateOptionsMenu была вызвана (путем размещения журнала отладки или записи ...)

Если он не запущен, возможно, ваша тема Android не поддерживает панель действий. Откройте AndroidManifest.xml и установите значение для android:theme с панелью действий поддержки тем :

 <activity
     android:name=".MainActivity"
     android:label="@string/app_name"
     android:theme="@style/Theme.AppCompat">
6
задан Evert 23 June 2009 в 15:21
поделиться

4 ответа

Ставить только на полную замену. Существует предложение использовать глагол PATCH для решения вашей проблемы ( http://www.ietf.org/internet-drafts/draft-dusseault-http-patch-14.txt )

Патч, однако, может оказаться не тем, что вам нужно. Отправляется ресурс обновления, который может делать такие вещи, как счетчики приращения и поэтому, в отличие от put, не идемпотентен.

Вы можете раскрыть каждое поле как ресурс и выполнить несколько операций записи в каждое поле. Вы можете конвейер путей для уменьшения дополнительной задержки.

2
ответ дан 16 December 2019 в 21:45
поделиться

Я бы сказал, что это имеет смысл. Я считаю идею REST очень гибкой, поэтому, если вы обновляете одну сущность, почему бы не передать только поля, которые необходимо обновить, в вашей реализации. Это правда, что для этого требуется больше усилий на стороне сервера. Вы должны проверить, доступен ли объект и может ли он быть обновлен с помощью переданных данных, и вам нужны проверки достоверности (в отличие от данных, ориентированных на документ без схемы).

<!-- PUT books/1337 -->

<book>
    <title>Hello</title>
    <author>John Doe</author>
</book>

<!-- PUT books/1337 -->

<book>
    <title>Hello here I am</title>
</book>
1
ответ дан 16 December 2019 в 21:45
поделиться

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

Прочтите статью Роя Можно использовать POST

4
ответ дан 16 December 2019 в 21:45
поделиться

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

  1. PUT to a new ' обновить ресурс. Он будет в основном записывать обновление, которое вы хотите применить, а затем отвечать за то, чтобы не применять дубликаты. Я предполагаю, что это работает как система контроля версий, которая хранит список исправлений / наборов изменений и становится довольно сложной каждый раз, когда я пытаюсь продумать все крайние случаи.

  2. PUT в ресурс, но не меняйте любые поля, которых нет. Требовать, чтобы поля, для которых вы хотите NULL , присутствовали со специальным атрибутом, указывающим, что вы хотите NULL выводить. Это кажется гораздо более практичным, но не очень хорошо согласуется с консенсусом, что PUT должен быть полным обновлением.

Если у кого-то есть указатели на обсуждение похожих идей, пожалуйста, отредактируйте / прокомментируйте соответственно.

1
ответ дан 16 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

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