簡體   English   中英

將Rest URL中的請求參數轉換為對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM