当前位置: 首页 > article >正文

前后端数据交互

一、后端部分

        1.创建Spring Boot项目:在IDEA中创建一个Spring Boot项目,引入必要的依赖。

        2.编写Controller层:在Spring Boot项目中创建Controller,用于处理前端的请求和响应数据。

@RestController
@RequestMapping("/demo/staff")
public class DemoStaffController extends AbstractController {
    @Resource
    private DemoStaffService demoStaffService;
    @SysLog("保存/新增")
    @PostMapping("/save")
    @RequiresPermissions("demo:staff:save")
    public R saveStaff(@RequestBody DemoStaff staff){
        ValidatorUtils.validateEntity(staff);
        staff.setCreateBy(getUser().getUserId());
        demoStaffService.saveStaff(staff);
        return R.ok();
    }
}

        3.Service层:编写Service层处理业务逻辑,如从数据库中获取数据。

//接口
public interface DemoStaffService extends IService<DemoStaff> {
    void saveStaff(DemoStaff staff);
}

//实现类
@Service
public class DemoStaffServiceImpl extends ServiceImpl<DemoStaffDao, DemoStaff> implements DemoStaffService {
    @Resource
    private DemoStaffDao demoStaffDao;
   
    @Override
    public void saveStaff(DemoStaff staff){
        this.save(staff);
    }
}

        4.编写Dao层:

@Mapper
public interface DemoStaffDao extends BaseMapper<DemoStaff> {
}

        5.entity层:创建实体类来表示数据对象。

二、前端部分

1.创建Vue项目

2.编写组件:创建Vue组件来渲染页面和处理用户交互,例如:

<template>
  <div class="mod-config">
    <!-- 表单区域 -->
    <el-form :inline="true" :model="dataForm" @keyup.enter.native="search()">
      <el-form-item>
        <el-input v-model="dataForm.paramKey" placeholder="参数名" clearable></el-input>
      </el-form-item>
      <el-form-item>
        <el-button @click="search()">查询</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
  export default {
    data () {
      return {
        dataForm: {
          paramKey: ''
        }
      }
    },
    components: {
    },
    activated () {
    },
    methods: {
      search() {
        this.pageIndex = 1 
        this.getDataList() 
      },
      getDataList () {
        this.dataListLoading = true 
        this.$http({
          url: this.$http.adornUrl('/sys/config/list'),
          method: 'get',
          params: this.$http.adornParams({
            'page': this.pageIndex,
            'limit': this.pageSize,
            'paramKey': this.dataForm.paramKey
          })
        }).then(({data}) => {
          if (data && data.code === 0) {
            console.log(data);
          } else {
            console.log(data);
          }
        })
      }
    }
  }
</script>

        3.样式:使用CSS.

三、前后端交互

        1.跨域问题:在前后端分离开发中,会遇到跨域问题。后端可以通过配置跨域资源共享来解决。在 Spring Boot 中,可以添加如下配置类:

@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
            .allowedOrigins("*")
            .allowCredentials(true)
            .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
            .maxAge(3600);
    }
}

        2.前端调用后端接口:在Vue组件中调用后端提供的API接口。

        3.后端处理请求:Spring Boot中的Controller接收前端的请求,处理业务逻辑并返回数据。

        4.前端处理响应:Vue组件中通过异步请求获取后端数据,然后更新页面。


http://www.kler.cn/a/463448.html

相关文章:

  • 实战设计模式之建造者模式
  • 日常工作常用命令集合
  • K8s高可用集群之Kubernetes集群管理平台、命令补全工具、资源监控工具部署、常用命令
  • 46. Three.js案例-创建颜色不断变化的立方体模型
  • 网安数学基础期末复习
  • Docker--Docker Container(容器) 之 操作实例
  • 域名系统DNS:Domain Name System
  • Java高频面试之SE-06
  • 【PDF物流单据提取明细】批量PDF提取多个区域内容导出表格或用区域内容对文件改名,批量提取PDF物流单据单号及明细导出表格并改名的技术难点及小节
  • 【华为OD-E卷 - 异常的打卡记录100分(python、java、c++、js、c)】
  • python数据分析:使用pandas库读取和编辑Excel表
  • 期末速成C++【知识点汇总完】
  • vite+vue3项目启动报错
  • windows C#-声明、实例化和使用委托
  • 青少年编程与数学 02-005 移动Web编程基础 10课题、设备调用
  • 创建线程的8种方法
  • 计算机网络原理(谢希仁第八版)第4章课后习题答案
  • 在 Swift 中使用 SQL 组合人员和地址数据
  • ChatGPT 与 AGI:人工智能的当下与未来走向全解析
  • UE5材质节点Frac/Fmod
  • NestJS 中间件与拦截器:请求处理流程详解
  • 前端安全措施:接口签名、RSA加密、反调试、反反调试、CAPTCHA验证
  • Go 语言 API 限流实战:保障系统稳定性的护盾
  • 2024年终总结:非常充实的一年
  • Three.js教程007:响应式画布与全屏控制
  • 深度学习每周学习总结R2(RNN-天气预测)