SSMP整合案例(8) Restful开发表现层接口

这篇具有很好参考价值的文章主要介绍了SSMP整合案例(8) Restful开发表现层接口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前几篇文章后面 我们的数据层 和 业务层基本就搭好了
然后 我们就要处理表现层
表现层开发 我们就还是用之前讲过的 Restful
然后 用Postman来做我们接口的测试

那话不多说 直接开干
在启动类同目录下创建一个 controller 包
下面创建一个类 叫 BookController
SSMP整合案例(8) Restful开发表现层接口
BookController 参考代码如下

package com.example.bookconfig.controller;

import com.example.bookconfig.domain.book;
import com.example.bookconfig.service.IBookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/books")
public class BookController {

    @Autowired
    private IBookService IBookService;

    @GetMapping
    public List<book> getAll() {
        return IBookService.list();
    }
}

这里 我们声明了RestController开发模式 然后 声明公共路径为 books
条件装配了IBookService接口 就是我们上文写的service逻辑层接口
然后 定义了getAll查询全部方法 声明请求方式为 get 然后 调用了MP提供的list查询全部数据方法
然后 我们启动项目
SSMP整合案例(8) Restful开发表现层接口
因为 我们这里启动的端口是 80 就是默认端口
SSMP整合案例(8) Restful开发表现层接口
我们直接打开Postman
访问 http://localhost/books
SSMP整合案例(8) Restful开发表现层接口
可以看到 结果输出非常顺利

然后 就是搬运工的工作啦
我们先加一个添加的函数

@PostMapping
public boolean save(@RequestBody book book){
    return IBookService.save(book);
}

定义一个save函数 声明为 post类型请求 然后返回布尔类型通知是否操作成功
RequestBody 声明这个参数 在 body的json中拿
然后 我们通过Postman操作
记得 请求类型是post 地址是一样的 因为我们并没有单独设置地址 然后 下面参数对应配一下
参数是body的 格式 raw 中的 JSON 格式 然后 JSON怎么写应该不用教了吧
SSMP整合案例(8) Restful开发表现层接口
调用之后 我们的返回值就出来啦
SSMP整合案例(8) Restful开发表现层接口
然后 去看我们的数据库
SSMP整合案例(8) Restful开发表现层接口
我们的数据就加进去了
然后修改 直接用PutMapping 修改是 PUT类型请求 然后 调用方法基本和添加是一样的 调用MP的updateById函数
我们将刚才加的一条数据给他改了

@PutMapping
public boolean pudata(@RequestBody book book){
    return IBookService.updateById(book);
}

我们Postman 只是把类型改成 put 然后 加个id 因为他要根据id去改某一条
其他和添加都是一样的配置
SSMP整合案例(8) Restful开发表现层接口
运行结果如下
SSMP整合案例(8) Restful开发表现层接口
我们这里 也返回了个 true
我们来数据库查看一下
数据是已经修改完成的
SSMP整合案例(8) Restful开发表现层接口
然后 我们删除

请求类型 Delete 加了个路径参数 id
然后 调用MP的removeById函数

@DeleteMapping("{id}")
public boolean delete(@PathVariable Integer id){
    return IBookService.removeById(id);
}

我们Postman 请求类型肯定是Delete然后 后面跟上路径id 这里 我们删除id为11的
SSMP整合案例(8) Restful开发表现层接口
运行如下
SSMP整合案例(8) Restful开发表现层接口
查看数据是成功删掉了的
SSMP整合案例(8) Restful开发表现层接口
然后 我们加一个 按id查询的

@GetMapping("{id}")
public book getById(@PathVariable Integer id){
    return IBookService.getById(id);
}

到测试这边 get 请求 路径参数给一下
SSMP整合案例(8) Restful开发表现层接口
运行结果如下
SSMP整合案例(8) Restful开发表现层接口
然后 我们来做分页查询

但是 我们会发现 你还要转一下IPage的一个对象
这个挺不友好的啊
那我们改一下
service 下的 IBookService 抽象方法方法

IPage<book> getPage(int page,int pageSize);

SSMP整合案例(8) Restful开发表现层接口
传入两个数字类型变量 分别是 当前页 和 每页展示多少条

service包下的impl 下的 bookServiceI
实现这个函数
参考代码如下

package com.example.webdom.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.webdom.dao.bookDao;
import com.example.webdom.domain.book;
import com.example.webdom.service.IBookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class bookServiceI extends ServiceImpl<bookDao, book> implements IBookService {

    @Autowired
    private bookDao bookDao;

    @Override
    public IPage<book> getPage(int page, int pageSize) {
        IPage<book> pageDate = new Page(page,pageSize);
        bookDao.selectPage(pageDate,null);
        return pageDate;
    }
}

可能有人会说 你转IPage的操作放在controller不就好了 但我想说的是 专业的人做专业的事
我们逻辑 就尽量还是写在业务层了
然后在BookController中使用这个函数

@GetMapping("/page")
public IPage<book> getPage(@RequestParam int page,int pageSize) {
    System.out.println("BookController.getPage");
    return IBookService.getPage(page, pageSize);
}

这里 需要注意 我们在后面加上 page 是怕他和前面的接口重复了 因为如果不加 这个和查全部的接口肯定是相互冲突的
我们接收两个参数 查询第几页 一页查多少条
我们在 Postman 中测试代码如下
这里 要注意的是 我们方法单独声明了 一个 page的子路径 然后 下面类型 body下的 表单类型 因为是RequestParam 声明的参数
然后下面加上参数 我们要查询 第一页 每页展示两条
SSMP整合案例(8) Restful开发表现层接口
运行结果如下
SSMP整合案例(8) Restful开发表现层接口
非常的完美文章来源地址https://www.toymoban.com/news/detail-504750.html

到了这里,关于SSMP整合案例(8) Restful开发表现层接口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSMP整合案例(14) 将界面查询改为分页查询

    前面几篇文章过后 我们的项目基本环境就算搭好了 但是 我们下面的分页显然就是个摆设 这里 我们就先将查询的方法改成分页的 我们 java项目之前做了这个分页的函数 那么 我们vue项目 直接在 src下的 api 下的bookApi.js中加上对应的函数 因为 我们的分页方法上面单独挂了 @Ge

    2024年02月13日
    浏览(26)
  • SSMP整合案例(3) 创建数据层并在测试类中运行数据库增删查改操作

    上文 SSMP整合案例(2) Spring Boot整合Lombok简化实体类开发我们已经开发完了实体类 我们就可以做数据层了 目前来讲 数据层技术 使用了最大的自然是 MyBatis 但其实MyBatis-Plus在国内很多中小企业还是使用的挺多的 这次 我们主要是通过MyBatis-Plus和Druid来做这件事情 这两个工具的坐

    2024年02月09日
    浏览(40)
  • ChatGPT vs. 之前版本:性能与表现的对比

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(50)
  • Restful接口开发与测试—接口测试

    开发完接口,接下来我们需要对我们开发的接口进行测试。接口测试的方法比较多,使用接口工具或者Python来测试都可以,工具方面比如之前我们学习过的 Postman 或者 Jmeter ,Python脚本测试可以使用 Requests + unittest 来测试。 测试思路 功能测试:数据的增删改查 异常测试:未

    2024年02月06日
    浏览(51)
  • SpringBoot实现SSMP整合

    1、Spring 整合 JUnit 核心注解有两个: @RunWith(SpringJUnit4ClassRunner.class) 是设置Spring专用于测试的类运行器(Spring程序执行程序有自己的一套独立的运行程序的方式,不能使用JUnit提供的类运行方式) @ContextConfiguration(classes = SpringConfig.class) 是用来设置Spring核心配置文件或配置类的

    2024年02月07日
    浏览(53)
  • SpringBoot整合SSMP小demo

    spring web,mybatis,mysql勾选 加入mp和druid,依赖见SpringBoot基础认识_阳光明媚UPUP的博客-CSDN博客 写个数据表,写个domain包实体类。  写个mappr包接口@Mapper生成实现类,继承mp  新增报错 //mybatis-plus默认生成的id的方式为自己自订的雪花算法 //而数据库提供的id自增的方法  yml中配

    2024年02月14日
    浏览(32)
  • [SpringBoot系列]SpringBoot如何整合SSMP

    SpringBoot之所以好用,就是它能方便快捷的整合其他技术,这里我们先介绍四种技术的整合: 整合JUnit 整合MyBatis 整合MyBatis-Plus 整合Druid ​ SpringBoot技术的定位用于简化开发,再具体点是简化Spring程序的开发。所以在整合任意技术的时候,如果你想直观感触到简化的效果,你必

    2023年04月23日
    浏览(35)
  • JAVA开发(基于Restful的微服务第三方简易接口设计)

       一、需求背景 java后端需要提供接口服务,其中接口服务分为对内网的后台管理系统的接口,对外网的用户接口和对第三方系统的接口。这里主要讲对第三方的接口。 二、接口设计 我们可以参考微信小程序的接口,一般一个系统提供给第三方系统的接口都需要接口权限认

    2024年02月09日
    浏览(52)
  • SSM整合(二) | 表现层数据封装格式及封装步骤

    数据返回格式 表现层数据封装是什么意思呢? 我们根据目前做的增删改查功能来看看目前返回数据的格式存在哪些问题 增删改的数据返回格式如下: 查询单条数据的返回格式如下: 查询全部数据的返回格式如下: 可以发现, 目前增删改的操作返回的数据是一个布尔值, 查询单条

    2024年02月02日
    浏览(36)
  • Web开发模式、API接口、restful规范、序列化和反序列化、drf安装和快速使用、路由转换器(复习)

    一 Web开发模式 1. 前后端混合开发模式 2.前后端分离开发模式 二 API接口 三 restful规范 四 序列化和反序列化 五 drf安装和快速使用

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包