我考虑在项目中使用fluent-http。
我从一个简单的“登录/密码”页面开始。我用字段login和password创建了一个简单的POJO:
public class LoginRequest() {
private String login;
private String password;
//...
}我把它通过Resource发送到fluent-http:
@Prefix("/user")
public class PersonResource {
@Post("/")
public String get(LoginRequest loginRequest) {
//[...]
}
}而且效果很好:)
现在,我想知道在成功的情况下是否可以用代码HTTP 200发送响应,如果失败,是否可以用代码HTTP 401发送响应。
因此,我尝试注入Response:
@Post("/")
public String login(LoginRequest loginRequest, Response response) {
if(loginRequest.getPassword().equals("helloworld")) {
response.setStatus(200);
return "SUCCESS";
} else {
response.setStatus(401);
return "ERROR";
}
}返回正确的字符串,但状态代码似乎不被使用。在这两种情况下,响应都有一个代码HTTP 200。
注意:我发现有些状态代码是预先实现的:
有什么想法吗?
发布于 2015-06-24 12:44:22
如果要更改默认内容类型、状态或标题,则该方法应返回net.codestory.http.payload.Payload。
下面是你应该写的东西:
@Post("/")
public Payload login(LoginRequest loginRequest) {
if(!loginRequest.getPassword().equals("helloworld")) {
return new Payload("ERROR").withCode(HttpStatus.UNAUTHORIZED);
}
return new Payload("SUCCESS").withCode(HttpStatus.CREATED);
}https://stackoverflow.com/questions/31025807
复制相似问题