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值。

上一篇下一篇

猜你喜欢

热点阅读