Преобразовать параметры запроса в rest url в объект - PullRequest
1 голос
/ 18 апреля 2019

Есть ли прямой метод для преобразования параметров HTTP-запроса в объект? (что-то вроде объектного картографа) * ​​1001 *

Например, если запрос http://localhot:8080/users/id=5&name=10 httpHandler (), тогда id = 5 & name = 10, его необходимо преобразовать в объект пользователя

public class User {
         int id;
         String name;
         //getters and setters
}

class MyHandler implements HttpHandler {
   @Override
   public void Handle(HttpExchange http) {
   String param = http.get.getRequestURI().getQuery();
   ?? // how to map it to the User Object?
   }
}

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Если вы используете Spring, то Здесь - очень хороший пример.Вы можете аннотировать метод контроллера с помощью @GetMapping и передавать объект DTO (в котором все ваши параметры запроса являются членами) методу в качестве аргумента.

0 голосов
/ 18 апреля 2019

Spring делает это автоматически с RequestBody аннотацией.

Допустим, вы делаете HTTP-запрос POST к URL http://localhost:8080/users/ с JSON-запросом

{
  id: 1,
  name: "Bob"
}

Вы можете сопоставить этот запрос с помощью Spring следующим образом:

@POST
@Path("/users")
@Consumes(MediaType.APPLICATION_JSON)
public String users(@RequestBody User user) {
    // Value is "ID: 1, Name: Bob"
    return "ID: " + user.getId() + ", Name: " + user.getName();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...