У вас есть несколько вариантов здесь.
Опция 1: параметр запроса с несколькими значениями
Вы можете предоставить несколько простых значений для одного параметра запроса.Например, ваша строка запроса может выглядеть следующим образом:
PUT /path/to/my/resource?param1=value1¶m1=value2¶m1=value3
Здесь параметр запроса param1
имеет три значения, и контейнер предоставит вам доступ ко всем трем значениям в виде массива.(См. Структура строки запроса ).
Вариант 2. Предоставление сложных данных в теле PUT
Если вам необходимо отправить сложные данные в запросе PUT
, это обычно делается путем предоставления этого содержимого в теле запроса.,Конечно, эта полезная нагрузка может быть xml (и связана через JAXB).
Помните, что смысл URI состоит в том, чтобы идентифицировать ресурс ( RFC 3986, 3.4 ), и еслиэтот массив значений - это данные, которые необходимы для идентификации ресурса, тогда URI - хорошее место для этого.Если, с другой стороны, этот массив данных является частью нового представления, представляемого в этом запросе PUT
, то он принадлежит телу запроса.
Сказав это, если вам действительно не нужно простомассив простых значений, я бы порекомендовал выбрать вариант 2. Я не могу придумать вескую причину для использования XML-кода в URL-адресе, но мне было бы интересно узнать больше о том, что именно представляют собой эти данные.