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

SpringBoot JPA在发出post请求时抛出异常

景河
2023-03-14

我正在制作一个小应用程序,我可以使用spring-boot保存用户详细信息。我创建了实体及其相应的存储库。当我发出帖子请求以添加用户的用户对象的id时,该id在保存到数据时为空base.Thisid在MySQL中自动生成(自动增量)。从POST请求中,我得到3个字段,即用户名、电子邮件、密码。用户类包含字段id、用户名、电子邮件、密码。我添加了注释

@Id 
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Integer id;

作为 id 字段。构造函数是

public User() { }

public User(String username, String email, String password) {
    this.username = username;
    this.email = email;
    this.password = password;
}

我的用户服务类

    @Service
    public class UserService implements UserServiceInterface {

        @Autowired(required = true)
        private UserRepository userrepository;

        @Override
        public User CreateNewUser(User user) {
            return userrepository.save(user);
        }
}

我的用户控制器类

@RestController
    public class UserController {

        UserService us = new UserService();

        @RequestMapping(value ="/user",method = RequestMethod.POST)
        public void RegisterUser(           
                @RequestParam(value="username") String username,
                @RequestParam(value="email") String email,
                @RequestParam(value="password") String password){
            us.CreateNewUser(new User(username,email,password));
        }
}

为什么我不能POST将数据保存到数据库?如何克服这个问题?

共有1个答案

赵华彩
2023-03-14

在深入研究代码后,我发现了错误。通过创建< code > UserService us = new UserService()的新实例;这不是由Spring管理的(Spring不知道它,也不能注入user repository——这会导致NullPointerException)。在这个例子中,它应该扩展UserService类,而不是creting new instace。

 类似资料:
  • 问题内容: 我正在尝试发出POST请求以检索有关一本书的信息。这是返回HTTP代码的代码:302,已移动 当我从浏览器尝试时,可以从以下页面进行操作:http : //www.bkstr.com/webapp/wcs/stores/servlet/BuybackMaterialsView?langId=-1&catalogId=10001&storeId=10051&schoolStoreId=1

  • 我是新来的vuejs和我下面的教程(https://www.youtube.com/watch?v=Wy9q22isx3U

  • 我正在尝试使用ajax发送post请求,但始终出现以下错误: XMLHttpRequest无法加载http://192.168.1.123:8080。对预检请求的响应无法通过权限改造检查:请求的资源上不存在“访问控制允许源”标头。因此不允许访问源“http://localhost:8080”。 这是我的代码

  • 嗨,我试图连接弹性搜索使用Spring rest模板,但它给例外说不好的请求 它给出了这个例外。 请告诉我这是我第一次这么做

  • 问题内容: 如何在node.js中使用数据发出出站HTTP POST请求? 问题答案: 这是一个使用node.js向Google Compiler API发出POST请求的示例: 我已经更新了代码,以显示如何从文件而不是硬编码的字符串发布数据。它使用async 命令来实现此目的,并在成功读取后发布实际代码。如果有错误,则抛出该错误,如果没有数据,则该过程以负值退出以指示失败。

  • 问题内容: 我正在研究一个简单的脚本,涉及CAS,jspring安全检查,重定向等。我想使用Kenneth Reitz的python请求,因为这是一项很棒的工作!但是,CAS需要通过SSL进行验证,因此我必须首先通过该步骤。我不知道Python请求是什么?该SSL证书应该存放在哪里? 问题答案: 你遇到的问题是由不受信任的SSL证书引起的。 就像之前评论中提到的一样,最快的解决方法是设置: 请注意