SpringBootRestFul快速入门

简介: SpringBootRestFul快速入门

SpringBootRestFul

1.什么是 RESTFul

RESTful 是一种软件架构风格、设计风格,而不是标准。 只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风 格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 当前阶段可以理解为 使用请求方式(POST,GET,PUT,DELETE)来定位方法的一种请求路径写法.

CustomerController.java

添加

/**
     * ajax操作:保存客户信息
     * @param customer
     */
    @PostMapping("/saveCustomer")
    public ResponseEntity saveCustomer(Customer customer){
        //1、获取表单信息(参数)
        //2、调用service保存信息
        try {
            customerServiceImpl.saveCustomer(customer);
        } catch (Exception e) {
            //保存失败
//            return new Msg(e.getMessage(),false);
//            return new ResponseEntity(HttpStatus.INTERNAL_SERVER_ERROR);//只能抛出500状态码
            return ResponseEntity.ok(new Msg(e.getMessage(),false));
        }
        //保存成功
        //3、获取service结果,写出响应体
        return ResponseEntity.ok(new Msg("保存成功",true));
    }

修改

/**
     * ajax修改客户信息
     * @return
     */
    @PutMapping("/modifyCustomer")
    public ResponseEntity modifyCustomer(Customer customer){
        //1、调用service进行修改
        try {
            customerServiceImpl.modifyCustomer(customer);
            //2、根据service处理结果,将结果写出响应体
        } catch (Exception e) {
            //若出现异常,修改失败,将异常信息写出响应体即可
            return ResponseEntity.ok(new Msg(e.getMessage(),false));
        }
        //若未出异常,修改成功
        return ResponseEntity.ok(new Msg("修改成功",true));
    }

删除

/**
     * ajax删除客户信息
     * @return
     */
    @DeleteMapping("/deleteCustomerByCustId/{cust_id}")
    public ResponseEntity deleteCustomerByCustId(@PathVariable("cust_id")Long cust_id){
        //1、调用service进行删除
        //2、根据删除结果,进行响应体写出
        try {
            customerServiceImpl.deleteCustomerByCustId(cust_id);
        } catch (Exception e) {
            return ResponseEntity.ok(new Msg(e.getMessage(),false));
        }
        return ResponseEntity.ok(new Msg("删除成功",true));
    }

add.jsp

//1、页面加载完成时,为保存按钮绑定点击事件
      $("#saveBtn").click(function () {
        //2、点击事件中,发送ajax请求到控制器,提交整个表单数据
        $.ajax({
          type:"post",
          url:"${pageContext.request.contextPath}/customer/saveCustomer",
          data:$("#f1").serialize(),
          contentType:"application/x-www-form-urlencoded",
          dataType:"json",
          statusCode:{
            200:function (data) {
              alert(data.msg);
            },
            500:function () {
              alert("服务器异常,请联系管理员!");
            }
          }
        });
      });

edit.jsp

//2、页面加载完成时,为修改按钮绑定点击事件,点击按钮,ajax方式提交表单
      $("#modifyBtn").click(function () {
        $.ajax({
          type:"put",
          url:"${pageContext.request.contextPath}/customer/modifyCustomer",
          data:$("#f1").serialize(),
          contentType:"application/x-www-form-urlencoded",
          dataType:"json",
          statusCode:{
            200:function (data) {
              //1、判断修改结果成功与否
              //2、根据修改结果,进行分别处理
              alert(data.msg);
              if(data.flag){
                //修改成功,跳转到 查询所有的功能
                location.href="${pageContext.request.contextPath}/customer/clist";
              }
            },
            500:function () {
              alert("服务器异常,请联系管理员!");
            }
          }
        });
      });

list.jsp

//删除某个客户信息
  function deleteCustomerByCustId(cust_id) {
    //加入是否删除判断
    if(confirm("是否删除该客户信息?")){
      //通过ajax,向控制器发送请求,请求删除该客户信息
      $.ajax({
        type:"delete",
        url:"${pageContext.request.contextPath}/customer/deleteCustomerByCustId/"+cust_id,
        dataType:"json",
        statusCode:{
          200:function (data) {
            //1、展示字符串结果
            alert(data.msg);
            //2、若删除成功,刷新整体页面
            if(data.flag){
              location.href="${pageContext.request.contextPath}/customer/clist";
            }
          },
          500:function () {
            alert("服务器异常,请联系管理员!");
          }
        }
      });
    }
  }


目录
相关文章
|
7月前
|
算法 C语言 C++
快速入门C++
快速入门C++
50 0
|
6月前
|
Kubernetes 监控 调度
K8S快速入门
K8S快速入门
82 0
|
Web App开发 人工智能 数据可视化
RPA 快速入门|学习笔记
快速学习 RPA 快速入门
652 0
RPA 快速入门|学习笔记
|
Kubernetes Linux API
[没接触过kubevirt?]15分钟快速入门kubevirt
什么是kubevirt? kubevirt是一个容器方式运行虚拟机的项目。`kubevirt`是附加`kubernetes`集群上的,它是通过 `CustomResourceDefinition(CRD)`部署到`Kubernetes API`变成资源对象。使用方式类似创建`deploy、pod`......这些资源清单。
3287 0
[没接触过kubevirt?]15分钟快速入门kubevirt
|
2月前
|
算法 数据可视化 Java
Gephi快速入门
Gephi快速入门
|
2月前
|
存储 编译器 Linux
C++:快速入门篇
C++:快速入门篇
60 0
|
12月前
|
存储 JavaScript 前端开发
ES6快速入门
ES6快速入门
57 0
|
SQL 负载均衡 NoSQL
DawnSql快速入门
DawnSql开源分布式数据库,快速入门
DawnSql快速入门
|
SQL 分布式计算 关系型数据库
MLSQL(Byzer)的快速入门
MLSQL(Byzer)的快速入门
MLSQL(Byzer)的快速入门
|
前端开发 JavaScript API
Gulp快速入门教程
Gulp入门介绍: 中文主页: http://www.gulpjs.com.cn/。 gulp是与grunt功能类似的前端项目构建工具, 也是基于Nodejs的自动任务运行器。
140 0