Я пытаюсь выяснить, можно ли передать объект JSON для использования API-интерфейсов, или передать несколько параметров этому API? И как читать эти параметры весной? Давайте предположим, что URL выглядит как ниже примеров:Пропустить несколько параметров для отдыха API - Spring
Ex.1 http://localhost:8080/api/v1/mno/objectKey?id=1&name=saif
Справедливо ли передать объект JSON, как в приведенном ниже URL?
Ex.2 http://localhost:8080/api/v1/mno/objectKey/{"id":1, "name":"Saif"}
Вопросы:
1) Можно ли передать объект JSON в URL, как в Ex.2?
2) Как мы можем передавать и анализировать параметры в Ex.1?
Я попытался написать некоторые методы для достижения своей цели, но не смог найти правильное решение?
Я попытался передать объект JSON в качестве @RequestParam
http://localhost:8080/api/v1/mno/objectKey?id=1
Был непредвиденная ошибка (type=Unsupported Media Type, status=415). Content type 'null' not supported
http://localhost:8080/api/v1/mno/objectKey/id=1
Был непредвиденная ошибка (type=Not Found, status=404). No message available
http://localhost:8080/api/v1/mno/objectKey/%7B%22id%22:1%7D
Был непредвиденная ошибка (type=Not Found, status=404). No message available
@RequestMapping(value="mno/{objectKey}",
method = RequestMethod.GET,
consumes="application/json")
public List<Book> getBook4(@RequestParam ObjectKey objectKey) {
...
}
Я попытался передать объект JSON в качестве @PathVariable
@RequestMapping(value="ghi/{objectKey}",method = RequestMethod.GET)
public List<Book> getBook2(@PathVariable ObjectKey objectKey) {
...
}
Я создал этот объект, чтобы держать идентификатор параметра и другие параметры, такие как имя, и т.д ....
class ObjectKey{
long id;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
насчет аннотацию [@RequestBody] (http://docs.spring.io/spring/docs/current/javadoc-api/ org/springframework/web/bind/annotation/RequestBody.html) и передать объект как тело? – bilak
Любая конкретная причина, почему вы хотите сделать это таким образом? Вы должны иметь возможность получить объект из запроса, который соответствует сущности. – ChiefTwoPencils
Извините, если пример не является точным, это всего лишь доказательство концепции, я хочу, чтобы получить список предлагаемых элементов из БД на основе критериев поиска. У меня будет виджет, который вызывает API остального и передает параметры. Но я стараюсь сосредоточиться на бэкэнд-части в данный момент –