学习springBoot(六)

本阶段把剩余的四个接口编写好!

观察一下,剩余的四个接口其实就是增删改查四项内容了。

一、增(增加一个女生,路径:/girls ,方式:POST)

类似与第一个接口,这个接口写法代码如下(在GirlController中编写):

  /**
     * 新增一个女生  POST方式
     */
    @PostMapping(value = "/girls")
    public Girl girlAdd(@RequestParam("cupSize") String cupSize,
                          @RequestParam("age") Integer age){
        Girl girl=new Girl();
        girl.setCupSize(cupSize);
        girl.setAge(age);
        return girlRepository.save(girl);
    }

下面解释一下这段代码,首先这个接口的请求方式是post类型的,路径还是/girls,因为是post类型的,所以需要我们添加推送参数,这里使用了@RequestParam,之前已经学习过,这里不再介绍;再往下是new一个girl,然后为其设置cupSize和age,最后调用我们之前写过的GirlRespositiory接口的save方法进行保存!下面使用postman进行接口测试(上节使用的是Fiddle,这里再学习一种新的测试接口的工具)。

首先运行代码,然后打开postman,输入我们的url、请求方式和请求参数如下图:

然后点击Send的确定按钮,在下面的Body部分的结果如下图:

这里我的id是4是因为我点了两次,下面我们再去数据库验证是否插入到了数据库。

由上图可得,数据库中已经插入成功!第二个接口也编写好了!

二、查(通过id查询一个女生,路径:/girls/id ,方式:GET)

同上,在GirlController中编写一下代码:

  /**
     * 通过id查询一个女生
     */
    @GetMapping(value = "/girls/{id}")
    public Girl girlFindOne(@PathVariable("id") Integer id){
        return girlRepository.findById(id).get();

    }

这里使用@PathVatiable的方式进行通过id查询女生,前面也已经学习过,可以看出来非常简单,运行代码测试即可!

还是使用postman测试接口,先书写我们的url和请求方式如下:

这里我选取的id是4,下面看一下body部分的结果,

查询成功!!!

三、更(根据id更新一个女生,路径:/girls/id ,方式:PUT)

同上,在GirlController中编写一下代码:

  /**
     * 通过id更新一个女生
     */
    @PutMapping(value = "/girls/{id}")
    public Girl girlUpdate(@PathVariable("id") Integer id,
                           @RequestParam("cupSize") String cupSize,
                           @RequestParam("age") Integer age){
        Girl girl=new Girl();
        girl.setId(id);
        girl.setCupSize(cupSize);
        girl.setAge(age);

       return girlRepository.save(girl);
    }

下面解释一下这段代码:

要更新一个女生,那就要传入id,cupSize和age三个参数,分别使用了@PathVatiable的方式和@RequestParam,然后再创建一个新的girl,分别给其设置id,cupsize和age,最后调用save方法进行保存,下面运行程序进行接口测试,还是使用postman进行测试接口。

输入url和请求方式以及参数如下。注意:这里的content-type方式为:x-www-form-urlencoded,这是http协议规定的,在put方式的时候使用:

然后确定。查看body部分的结果如下图:

再查看数据库进行验证:

可以看到id为2的属性已经改变,接口测试成功!!

四、删(通过id删除一个女生, 路径:/girls/id ,方式:DELETE)

同上,在GirlController中编写一下代码:

 /**
     * 通过id删除一个女生
     */
    @DeleteMapping(value = "/girls/{id}")
    public void girlDelete(@PathVariable("id") Integer id){
        girlRepository.deleteById(id);

    }

代码跟上面几个接口类似,只不过最后调用的是deleteByid()的方法,然后运行程序进行测试接口,

这里我们测试的是把id为3的删除,运行后观察body部分的结果如下:

body部分为空,下面取数据库看一下id为3的数据是否还存在,

已经不存在,接口测试成功!

最后再补充一个接口,就是我们查询的时候不一定只根据id来查询,也可以根据年龄查询,具体如下:

首先在GirlRepository接口中编写以下代码:

public interface GirlRepository  extends JpaRepository<Girl,Integer>{

    //通过年龄来查询
    public List<Girl> findByAge(Integer age);
}

然后在GirlController中编写下列代码:

  /**
     * 通过年龄查询女生列表
     */
    @GetMapping(value = "/girls/age/{age}")
    public List<Girl> girlListByAge (@PathVariable("age") Integer age){
        return girlRepository.findByAge(age);

    }

这里使用了我们上一步定义好的findByAge方法,然后运行程序进行测试,

这里我们通过age=18来查询,下面看一下结果:

查询成功,说明接口正确!

这也就说明了哦我们可以通过修改dto达到我们可以根据自己指定的字段进行查询的目的。

关于jpa的使用就学习到这儿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值