当前位置: 首页 > 知识库问答 >
问题:

自定义HTTP状态代码

东门阳飇
2023-03-14

我考虑在项目中使用fluent-http。

public class LoginRequest() {
  private String login;
  private String password;
  //...
}
@Prefix("/user")
public class PersonResource {

  @Post("/")
  public String get(LoginRequest loginRequest) {
    //[...]
  }
}

所以我尝试注入响应:

@Post("/")
public String login(LoginRequest loginRequest, Response response) {
  if(loginRequest.getPassword().equals("helloworld")) {
    response.setStatus(200);
    return "SUCCESS";
  } else {
    response.setStatus(401);
    return "ERROR";
  }
}

返回正确的字符串,但似乎没有使用状态代码。在这两种情况下,响应都有一个代码HTTP200。

注意:我发现一些状态代码是预先实现的:

    null

共有1个答案

何聪
2023-03-14

如果要更改默认的内容类型、状态或标题,该方法应该返回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);
}
 类似资料:
  • 我正在处理WebAPI 2中的一个服务,endpoint当前返回一个<code>IHttpActionResult<code>。我想返回一个状态代码,但由于它不在枚举中,我不知道如何发送它,因为所有构造函数都需要一个参数 目前,我正在返回<code>BadResult(消息),但返回<code>422

  • 我使用Spring Boot WS-Server发布了endpoint 当我使用SoapUI时,我看到: HTTP/1.1200接受:text/xml、text/html、image/gif、image/jpeg、*;q=.2,/;q=.2 SOAPAction:“内容类型:text/xml;字符集= UTF-8内容长度:828日期:星期四,2021年4月29日14:04:54 GMT保持生存:超

  • 在Spring MVC@RequestMapping注释中,我返回JSP页面名称作为结果。这将返回HTTP状态代码200OK。如何将此状态代码更改为创建的201? @ResponseStatus不起作用。另外,HttpServletResponse也不能工作,因为我只需要返回自定义JSP页面。

  • 自定义的状态栏覆盖在系统状态栏上,能够在自定义的状态栏中显示文字信息,可以隐藏自定义的状态栏,显示系统状态栏。 作者@贺坤Smaile 说:之前逛街看到移动做推广,有一个定位应用挺好的,合理的利用了状态栏,做了一些消息提醒和隐藏动画,自己回家就做了一个这样的demo,效果很不错,一个多月之前写的,看到有人求,分享出来。 [Code4App.com]

  • 在Spring Boot控制器中,我使用检查用户是否登录(使用基本auth+)。 但是如果用户没有登录,即他们没有经过身份验证,控制器返回。 根据我对身份验证与授权的了解,用于身份验证,而用于授权。 根据我的理解,总是检查用户的授权(顾名思义),但是有什么方法可以根据我们传递给它的参数自定义它,即? 我知道还有另一种解决方案:在中使用基于URL的安全配置,但如果我不想这样做,该怎么办。 有什么想法

  • 我正在使用 格雷德尔: 控制器 验证器类 控制器建议 如果我从验证器中抛出customException,那么尽管我有相应的controllerAdvice, 总是,我收到400个坏的请求,因为我有一个controllerAdvice总是返回400。 我想在这里实现的是,有没有可能返回带有状态代码的customException或者有没有从Validator返回不同的状态代码?我在StackOve