对于一种方法,如何在一个场景中发回一个简单的String
并在另一个场景中发送一个对象?
例如。对于signup
,如果用户创建成功,或者发送User
之类的消息,我想发回username already exists
个对象。
到目前为止我所拥有的:
@POST
@Path("/signup")
public User signup (@Valid User user) {
if (dao.doesUserExist(user.getName())
//how can I return a message here?
else
return createNewUser();
}
答案 0 :(得分:1)
这有帮助吗?
@POST
@Path("/path")
public Response signup (@Valid User user)
{
if (dao.doesUserExist(user.getName())
//return a message here
Response.status(Status.CONFLICT).type(MediaType.TEXT_PLAIN).entity("user already exists, but due to OWASP (https://www.owasp.org/index.php/Authentication_Cheat_Sheet) -> An application should respond with a generic error message regardless of whether the user ID or password was incorrect. It should also give no indication to the status of an existing account. ").build();
else
return createNewUser();
}
答案 1 :(得分:0)
投掷怎么样:
throw new WebApplicationException(409);
这表明存在冲突。它对客户端比返回错误字符串更有用。
答案 2 :(得分:0)
您可以使用Response将简单消息返回给客户,在您的回复中,您可以将User更改为Response并在响应正文中返回您的creted用户或消息