【问题标题】:How to create angularjs springboot application that stores data to a mysql database. using json如何创建将数据存储到 mysql 数据库的 angularjs springboot 应用程序。使用 json
【发布时间】:2015-12-12 20:37:32
【问题描述】:

我有点卡在这个话题上。

这是我已经发现的。 一个很好的教程是:

通过 Spring Data JPA 和 Hibernate 在 Spring Boot 中使用 MySQL http://blog.netgloo.com/2014/10/27/using-mysql-in-spring-boot-via-spring-data-jpa-and-hibernate/

我还找到了一些关于如何使用 hsqldb 制作单页应用程序的信息。 但我真的很想创建一些东西,使用 mysql 将用户数据永久保存到数据库中。

但为了使用 Angular http,我需要 json。我可以转换像

这样的网址吗

/create?email=[email]&name=[name]

对于 json 我应该如何进行。有谁知道这方面的好教程。或者有更好的方法来继续。

【问题讨论】:

  • 检查 jhipster 项目,它可以为您生成一个完整的堆栈 angularjs+springboot 以及您选择的数据库。 jhipster.github.io

标签: mysql json angularjs spring hibernate


【解决方案1】:

如果您已经设法将它与 HSQLDB 一起使用,那么这只是数据库属性(如 JDBC URL)和架构初始化的问题。

您能否提供控制器的代码示例,如何保存数据(通过 Repository 或简单的 DAO?)和 application.properties

【讨论】:

    【解决方案2】:

    使用 Spring Boot 使用 JSON 的最简单/方便的方法是使用类似于 JSON (https://stackoverflow.com/a/6019761) 的 Java 类。

    因此,您可以按照链接的tutorial,然后使用像这样的控制器来处理 JSON:

    @RestController
    public class UserController {
    
      @RequestMapping(
          value = "/user/create",
          method = RequestMethod.POST,
          consumes = MediaType.APPLICATION_JSON_VALUE)
      public ResponseEntity<?> createUser(@RequestBody User user) {
    
        try {
          // Handle the User object here
          userDao.save(user);
        }
        catch (Exception ex) {
          return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
        }
    
        return new ResponseEntity<>(HttpStatus.OK);
      }  
    
      // ...
    
    }
    

    接收这样的 JSON(在 url /user/create):

    {email: "john@doe.com", name: "John Doe"}
    

    一个用户将被保存在您的数据库中。


    使用 JSON 响应

    此外,如果您想从控制器以 JSON 格式发送响应,您应该创建一个 java 对象,然后在 ResponseEntity 对象中将其作为响应发送回来。

    例如,假设有这个类:

    public class SuccessDto {
    
      private String success;
    
      public SuccessDto(String success) {
        this.success = success;
      }
    
    }
    

    你可以这样改变你的控制器:

    public ResponseEntity<SuccessDto> createUser(@RequestBody User user) {
    
      // ...
    
      return new ResponseEntity<>(
        new SuccessDto("true"),
        HttpStatus.OK
      );
    }
    

    你会得到这个 JSON 作为响应

    {success: "true"}
    

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 1970-01-01
      • 2012-07-31
      • 1970-01-01
      • 2015-06-23
      • 2011-03-07
      • 1970-01-01
      • 2021-08-07
      • 2021-10-28
      相关资源
      最近更新 更多