简体   繁体   English

使用 Spring JPA 保存新数据 - Angular 8

[英]Save new data with Spring JPA - Angular 8

I'm learning Spring with JPA.我正在用 JPA 学习 Spring。 I created a local DB with MySQL storing "Users", a web service with Spring and a front with angular.我创建了一个带有 MySQL 存储“用户”的本地数据库,一个带有 Spring 的 Web 服务和一个带有 angular 的前端。

I fed some data to my DB, and managed to display it with Angular.我向我的数据库提供了一些数据,并设法用 Angular 显示它。 But the Post request coming from the Angular form does not seems to work.但是来自 Angular 表单的 Post 请求似乎不起作用。 The form works well and provide an Object.该表单运行良好并提供了一个对象。

User model:用户模型:

@Entity
@Table(name = "utilisateur")
public class Utilisateur {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String firstname;
    private String lastname;
    private int age;

DAOuser : DAO用户:

@Repository
public interface DAOutilisateur extends JpaRepository<Utilisateur, Integer> {
}

UserController :用户控制器:

@RestController
@CrossOrigin(origins = "http://localhost:4200")

public class UtilisateurController {
    DAOutilisateur utilisateurDAO;
    @Autowired
    public UtilisateurController(final DAOutilisateur utilisateurDAO) {
        this.utilisateurDAO = utilisateurDAO;
    }

    @GetMapping({"/listeUtilisateur"})
    public List<Utilisateur> listUtilisateur(){
        System.out.println("Liste des utilisateurs");
        return utilisateurDAO.findAll();
    }

    @PostMapping("/listeUtilisateur")
    void addUser(@RequestBody Utilisateur user) {
        System.out.println("ECHO");
        utilisateurDAO.save(user);
    }
}

TypeScript Fonction used in Angular to access the Post URL, User is an Object created via an Form: Angular 中用于访问 Post URL 的 TypeScript 函数,User 是通过表单创建的对象:

public saveUserSpring(user: UserSpring) {
    return this.http.post<UserSpring>(this.userUrl, user);
}

Thank you for your Help !感谢您的帮助 !

Bertrand伯特兰

Solved As Rohit Kavathekar mentioned above, I didn't subscribed to the .post method in my angular project, which return an Observable and required to be subscribed.已解决如上文Rohit Kavathekar 所说,我的angular 项目中没有订阅.post 方法,该方法返回一个Observable 并且需要订阅。

Thank you.谢谢你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM