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

使用'RoutingContext::json'方法时,如何设置响应状态代码?

令狐辉
2023-03-14

我有这个代码:

get("/signup").handler {
  // some logic
  it.response()
    .setStatusCode(409)
    .putHeader("content-type", "application/json; charset=utf-8")
    .end(jsonObjectOf(
      "error" to "EmailAlreadyInUse"
    ).toString())
}

为了简化它,我想使用RoutingContext::json方法:

get("/signup").handler {
  // some logic
  it
    .setStatusCode(409) // Can't do this, setStatusCode method doesn't exist in RoutingContext
    .json(jsonObjectOf(
      "error" to "EmailAlreadyInUse"
    ))
}

然而,正如您所看到的,当使用RoutingContext::json方法时,我无法设置响应的状态代码。

有什么办法吗?(不使用自定义扩展功能)

共有1个答案

何修能
2023-03-14

您可以使用静态编程语言申请

it.apply {
    response().statusCode = 409
    json(jsonObjectOf("error" to "EmailAlreadyInUse"))
}
 类似资料:
  • 问题内容: 我有一个API调用,我需要对其进行一些检查并可能返回各种状态代码。我不需要自定义视图或任何东西,我只需要返回正确的代码。如果用户未通过适当的凭据,则需要返回401状态。如果他们尚未发送受支持的请求格式,则需要返回400状态。 因为它是一个API,所以我真正想做的就是设置响应状态并以一条简单的愚蠢消息退出,该消息说明请求失败的原因(可能使用)。刚好足以完成工作,但我还无法使其正常工作。我

  • 因为它创建了一个新的资源,所以如果它返回状态代码201是合适的,但目前它返回200。 我发现如何设置状态代码的唯一方法是让方法返回一个并在那里设置它,但我确实不希望我的所有接口返回一个泛型响应,而不是实际的响应对象(在本例中是)。

  • 当我使用MVC控制器时,我使用“返回OK(对象)”或“返回BadRequest(ErrorMessage)”等。 我怎样才能实现这是剃刀页? 我尝试返回新的JSON result(object);这在状态代码为200时有效。但是如果我想返回带有JSON错误消息的状态代码400呢?

  • 我有密码 当我使用 curl http://localhost:8080/graph 当我向该URL发送一个POST请求时,我需要返回状态201,用于创建和方法POST。在这方面需要一些帮助。谢谢.

  • 在下面的示例中:get to“http://localhost/foo/bar”(已创建状态)的响应位置为“http://localhost/foo/bar/wibble”(请注意/foo/bar) 而get to“http://localhost/foo/baz”(ok status)则响应“http://localhost/wibble”的位置,这正是我们所希望的。

  • 问题内容: 如何在axios中设置获取响应的状态? 问题答案: 您在这里遇到语法错误。你应该试试这个 这里有几件事要注意: 是一个异步函数,这意味着其余代码将被执行。当服务器的响应到达时,传递给的函数将被执行。的返回值称为承诺对象。您可以在此处了解更多信息 关键字根据调用的位置而具有不同的值。in 应该 引用构造函数对象,并且在函数内部调用时,它引用该对象。这就是为什么我分配给变量的原因。您可以在