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

在POST请求中返回消息体的Spring boot多响应代码

平俊茂
2023-03-14

在我的spring boot应用程序中,我想用响应体返回不同类型的响应代码。

@RequestMapping(method = RequestMethod.POST, value = "/users")
public ResponseEntity<User> userSignsUp(@RequestBody User user) {

  if(userService.getUserByNic(user.getNic()).equals(userService.getUserByNic(user.getNic()))) {
    UserErrorBean userError = new UserErrorBean("User already exist","406 error");  
    return ResponseEntity<>(userError ,HttpStatus.CONFLICT); }

   userService.userSave(user);
   return ResponseEntity<>(user, HttpStatus.CREATED);
}

这是我的Rest控制器,我想根据不同的条件返回不同的响应。但它仅在满足用户NIC条件时返回条件。如果将用户添加到数据库,它会抛出NullPointerException()

我想根据请求返回响应。

共有1个答案

公孙芷阳
2023-03-14

您可以这样编写一个简单的RestController。

@PostMapping("/users")
    public ResponseEntity<User> userSignsUp(@RequestBody User user) {
        if(user == null){
            return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
        }
        if(userService.getUserByNic(user.getNic()).equals(userService.getUserByNic(user.getNic()))) {
            UserErrorBean userError = new UserErrorBean("User already exist","406 error");
            return new ResponseEntity<>(userError, HttpStatus.CONFLICT);
        }

        if(userService.userSave(user)) { // make it return boolean on success or failed
            return new ResponseEntity<>(user, HttpStatus.CREATED);
        } else {
            return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
        }
    }
 类似资料:
  • 我见过龙卷风文档和示例,其中self.write方法被广泛用于在超文本标记语言上呈现一些值,其中POST请求在处理程序中运行。但是我找不到关于如何将响应返回给客户的清晰信息。 例如,我正在从我的客户端调用Tornado服务器上的POST请求。接受post请求的代码为: 有了这个,我可以找到cbtp的值,有了,我可以用HTML打印它。但是,相反,我想以JSON格式将这个值返回给客户机,比如我想知道如

  • 我从这里获取信息实现了Struts2 REST API Struts2 Rest插件 Struts2中的restful插件中是否有返回自定义响应的方法。我做了所有必要的更改,如 从这个问题得到的。我仍然得到这个错误 如果我不添加上面的行,我仍然会得到相同的响应。 这是我在struts中提供的操作。xml: 这将满足所有请求,包括获取、发布、放置、更新。 在将post方法的返回类型从HttpHead

  • 所以我想打印响应的结果,然后使用gson为模型生成数据,但响应永远不会得到返回,因为调用了onResponse。! 如果你注意到Logcat,日志。我的回答没有显示。。!?但是在使用该请求的活动的onSuccess中,它通常会显示日志,但是如果日志包含响应对象,它不会显示哪个非常奇怪,也没有任何意义。。!? Logcat公司 我尝试使用具有相同url和参数的PostMan测试请求,它通常返回jso

  • 我必须做一个帖子,但我得到错误405 在本网站->http://177.66.89.34:8079/transparencia/#我需要迭代页面顶部的2个下拉菜单的选项。 首先,我会在“escolha o exercício”旁边加上选项:然后,我会在“escolha a entidade”旁边加上选项: 用下面的代码,我在“EscolhaoExercício:”上面写了一篇文章 我希望在pars

  • 我希望在spring boot中返回类似以下内容的json响应: 我的RestController如下所示 但我得到的反应是这样的

  • 我用Badboy录制了一个脚本,并将其导出到Jmeter。该脚本包括一个post请求,该请求启动一个名为的文件。 参数随请求发送 每次我运行测试计划时,我都会收到POST请求的500错误代码(内部服务器错误)响应,如下所示 所以我使用chrome developer工具捕获请求,我发现当我试图创建一个名为已存在的文件时,服务器会以500错误代码响应,我还发现jmeter发送的请求与我使用devel