glass fish java 我可以通过 get 请求发送对象吗?
glass fish java can i send object through get request?
我有一个 class 这样的:
class Customer {
private int id;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
我有一个 glass fish 网络服务:
我想知道可以使用 get
发送客户对象
(我知道我可以在 post 中做到这一点,但在 get 中...我不知道)
这是我尝试过的:
@GET
@Path("/test")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_OCTET_STREAM)
public String test(@QueryParam("customer") Customer customer) {
return "Done " + customer.getId();
}
然后我这样称呼它:
..../test?id=4&name=william
我知道这是错误的,但我不知道正确的方法,我不知道使用 get
是否可行
@QueryParam
应该用于每个单独的参数。例如
/cusomters?name=hello&id=1
@GET
@Produces(...)
public Response get(@QueryParam("name") String name,
@QueryParam("id") int id)
如果你想把它放入一个bean中,你可以使用@BeanParam
,它允许你将任意的@XxxParam
放入一个bean中。例如
class Customer {
@QueryParam("name")
private String name;
@QueryParam("id")
private int id;
// getters/setters
}
@GET
public Response get(@BeanParam Customer customer)
但请牢记 REST 原则。要创建客户资源,应该 POST 完成。还要考虑安全问题。您不希望 URL 中包含私人用户信息。
我有一个 class 这样的:
class Customer {
private int id;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
我有一个 glass fish 网络服务:
我想知道可以使用 get
发送客户对象(我知道我可以在 post 中做到这一点,但在 get 中...我不知道)
这是我尝试过的:
@GET
@Path("/test")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_OCTET_STREAM)
public String test(@QueryParam("customer") Customer customer) {
return "Done " + customer.getId();
}
然后我这样称呼它:
..../test?id=4&name=william
我知道这是错误的,但我不知道正确的方法,我不知道使用 get
是否可行@QueryParam
应该用于每个单独的参数。例如
/cusomters?name=hello&id=1
@GET
@Produces(...)
public Response get(@QueryParam("name") String name,
@QueryParam("id") int id)
如果你想把它放入一个bean中,你可以使用@BeanParam
,它允许你将任意的@XxxParam
放入一个bean中。例如
class Customer {
@QueryParam("name")
private String name;
@QueryParam("id")
private int id;
// getters/setters
}
@GET
public Response get(@BeanParam Customer customer)
但请牢记 REST 原则。要创建客户资源,应该 POST 完成。还要考虑安全问题。您不希望 URL 中包含私人用户信息。