Jersey设置cookie并设置响应信息
2016-08-03 本文已影响755人
码农
返回指定响应状态的同时返回输出信息
比如需要实现如下场景,用户登录如果用户名或密码错误返回401状态,并且返回如下错误说明给前端:
{ "error": "AuthFailure"}
但是如果登录成功了则返回200状态并且返回另一个连接按钮
实现如下:
Response.ResponseBuilder response=Response.ok()
// .entity(backJson)
.entity("<a href='http://localhost:9001/api/users/info' >info</a>")
.cookie(NewCookie.valueOf("id="+user.getId()))
.cookie(NewCookie.valueOf("secId=aa"))
.cookie(NewCookie.valueOf("domain="+ UriPathResolver.getDomain(uriInfo)))
.cookie(NewCookie.valueOf("path=/"))
.contentLocation(URI.create("/"))
.expires(calendar.getTime());
return response.build();
返回类型为Response类型。
如果返回json类型可以设置@Produces。
说明:
ok():用于设置响应状态为200,如果是其他状态可以使用status(xxx)进行设置。
entity:用于设置响应的内容主体。
cookie:用于设置响应头中的cookie值。