[英]Convert the request parameters in rest url to an object
是否有直接方法将HTTP请求参数转换为对象? (类似于对象映射器)
例如,如果请求http:// localhot:8080 / users / id = 5&name = 10 httpHandler(),则id = 5&name = 10则需要转换为User对象
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?
}
}
Spring使用RequestBody注释自动为您完成此操作 。
假设您使用JSON请求向URL http:// localhost:8080 / users /发出HTTP POST请求
{
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();
}
如果您使用的是Spring,那么这是一个很好的例子。 您可以使用@GetMapping注释控制器方法,并将DTO对象(将所有请求参数作为成员)传递给方法作为参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.