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

如何更改响应状态代码以在Swagger中成功运行?

巴洲
2023-03-14

如图所示,添加操作显示“响应类(状态200)”。但是,add操作的实现方式使其永远不会返回200。一旦成功,它就会返回201。

我的问题是如何将(状态200)更改为(状态201)?本部分代码如下:

@RequestMapping(method = RequestMethod.PUT, value = "/add")
@ApiOperation(value = "Creates a new person", code = 201)
@ApiResponses(value = {
        @ApiResponse(code = 201, message = "Record created successfully"),
        @ApiResponse(code = 409, message = "ID already taken")
})
public ResponseEntity<String> add(@RequestParam(value = "name", required = true) String name,
        @RequestParam(value = "id", required = true) String id) {
    if (PD.searchByID(id).size() == 0) {
        Person p = new Person(name, id);
        PD.addPerson(p);
        System.out.println("Person added.");
        return new ResponseEntity<String>(HttpStatus.CREATED);
    } else {
        System.out.println("ID already taken.");
        return new ResponseEntity<String>(HttpStatus.CONFLICT);
    }
}

谢谢

共有2个答案

秦永望
2023-03-14

在控制器方法(method=requestMethod.PUT)或(method=requestMethod.POST)@ResponseStatus(code=HttpStatus.ACCEPTED)中添加以下注释

雍志新
2023-03-14

您可以将@ResponseStatus注释添加到任何控制器方法中,以定义它应该返回的http状态。前任

在acontroller方法上添加以下注释:

@ResponseStatus(code = HttpStatus.CREATED)

将返回HTTP状态201(已创建)

 类似资料:
  • 我无法从类似200201的响应中获取成功响应状态代码。。我们可以很容易地从类中获得错误代码,比如和。是否有获取状态代码的解决方法?

  • 在我的烧瓶应用程序中,我想将响应存储在MongoDB中。我想更改状态代码和响应数据,以防存储任务无法完成。如何更改响应对象的状态代码 这是用于Python3.6中开发的Flask应用程序 现在如果有异常,我收到状态代码200

  • 这样做的全部目的是,当用户被阻止时,前端会显示不同的错误消息,当找不到用户名和密码不正确时,前端会显示不同的消息。 我正试图根据异常消息更改响应错误状态。 此类扩展了并覆盖方法。每次身份验证失败时,都会调用方法。 即使响应状态设置为例如冲突,浏览器也会收到403个未经授权的错误。 我似乎无法以任何方式修改响应状态和消息/输出。 你会推荐什么样的解决方案来解决这个问题?

  • 我希望返回http状态代码和响应对象。如果我只是在失败场景中返回response object,则状态返回为200。但是我希望将服务返回的状态(例如:403)与响应对象一起发送。但是下面的代码只是返回消息和状态。在这种情况下,我想要响应对象orderdetails对象,它有失败原因和其他字段。如何将对象传递回客户端有什么帮助吗?

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

  • 是否可以更改AbstractHttpMessageConverter writeInternal()方法中的响应状态代码? 在我的抽象中(扩展MappingJackson2HttpMessageConverter),我希望将错误响应更改为200,并将实际的状态代码(例如400)添加到JSON中的状态字段中。 编辑1 我返回的代码如下: 所以对于这两个变体来说,这意味着: 在这两种情况下,都将返回h