探索前沿技术
      展示技术风采

SpringBoot实战: 集成ag-Grid构建CRUD应用程序 – 第2部分

在本系列的第2部分中,我们将更详细地介绍中间层,通过REST服务公开我们的数据。

系列章节
第1部分:简介和初始设置:Maven,Spring和JPA /后端(数据库)
第2部分:中间层:使用REST服务公开我们的数据
第3部分:前端 – 初步实施
第4部分:前端 – 网格功能和CRUD(创建,读取,更新和删除)

为了使我们的数据有用,我们需要将其提供给用户。 最简单的方法之一是将其作为REST服务公开,与CRUD操作很好地结合 – 与CRUD指定的每个创建,检索,更新和删除操作都有一对一的映射。

我们将再次使用 通过REST服务公开数据。 我们使用SpringBoot来做这件事。

Rest Controllers

我们可以通过Rest Controllers提供REST服务。 在我们公开的大多数服务中,我们通常只会通过我们的Repositories.提供的方法之一。 在实际应用程序中,您需要提供用户请求的身份验证等。

要定义一个RestController我们需要做的就是按如下方式注释一个类:

/**
 *
 * @author 醉探索戈壁
 * @create 2018/7/11 下午7:27
 * @since 1.0.0
 */
@RestController
public class AthleteController {

    

}

我们想要在第一轮中返回我们拥有的所有奥运数据,为了做到这一点,我们需要使用我们的AthleteRepository。 让我们创建一个构造函数来获取这个repository(Spring会自动为它注入它)并创建一个使用它的方法:

/**
 *
 * @author 醉探索戈壁
 * @create 2018/7/11 下午7:27
 * @since 1.0.0
 */
@RestController
public class AthleteController {


    private final AthleteRepository athleteRepository;


    public AthleteController(AthleteRepository athleteRepository){
        this.athleteRepository = athleteRepository;
    }

    @GetMapping("/athletes")
    public Iterable <Athlete> getAthletes() {
        return athleteRepository.findAll();
    }

}

GetMapping所做的是通过URL提供到我们的应用程序的映射。

在我们的例子中,完整的映射将是:http://localhost:8080/athletes

基本URL(http//localhost:8080)可能因您部署应用程序的方式而异,但实际映射(/athletes)将是相同的。

[
  {
    "name": "Robin Beauregard",
    "country": {
      "id": 33,
      "name": "United States"
    },
    "results": [
      {
        "age": 25,
        "year": 2004,
        "date": "29/08/2004",
        "gold": 0,
        "silver": 0,
        "bronze": 1,
        "sport": {
          "id": 112,
          "name": "Waterpolo"
        }
      },
      {
        "age": 21,
        "year": 2000,
        "date": "01/10/2000",
        "gold": 0,
        "silver": 1,
        "bronze": 0,
        "sport": {
          "id": 112,
          "name": "Waterpolo"
        }
      }
    ]
  }
  ...further records

Great, so far so good!

我们来看看CrudRepository为我们提供的操作:

@NoRepositoryBean
public interface CrudRepository<T, ID> extends Repository<T, ID> {
    <S extends T> S save(S var1);

    <S extends T> Iterable<S> saveAll(Iterable<S> var1);

    Optional<T> findById(ID var1);

    boolean existsById(ID var1);

    Iterable<T> findAll();

    Iterable<T> findAllById(Iterable<ID> var1);

    long count();

    void deleteById(ID var1);

    void delete(T var1);

    void deleteAll(Iterable<? extends T> var1);

    void deleteAll();
}

正如您所看到的,这里提供了您可能需要的任何操作,这很棒。

×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

赞(0) 打赏
未经允许不得转载:醉探索戈壁 » SpringBoot实战: 集成ag-Grid构建CRUD应用程序 – 第2部分
分享到: 更多 (0)
标签:

给戈壁浇点水

支付宝扫一扫打赏

微信扫一扫打赏