前后端数据交互

打印 上一主题 下一主题

主题 806|帖子 806|积分 2418

一、后端部分

        1.创建Spring Boot项目:在IDEA中创建一个Spring Boot项目,引入必要的依靠。
        2.编写Controller层:在Spring Boot项目中创建Controller,用于处理前端的哀求和响应数据。
  1. @RestController
  2. @RequestMapping("/demo/staff")
  3. public class DemoStaffController extends AbstractController {
  4.     @Resource
  5.     private DemoStaffService demoStaffService;
  6.     @SysLog("保存/新增")
  7.     @PostMapping("/save")
  8.     @RequiresPermissions("demo:staff:save")
  9.     public R saveStaff(@RequestBody DemoStaff staff){
  10.         ValidatorUtils.validateEntity(staff);
  11.         staff.setCreateBy(getUser().getUserId());
  12.         demoStaffService.saveStaff(staff);
  13.         return R.ok();
  14.     }
  15. }
复制代码
        3.Service层:编写Service层处理业务逻辑,如从数据库中获取数据。
  1. //接口
  2. public interface DemoStaffService extends IService<DemoStaff> {
  3.     void saveStaff(DemoStaff staff);
  4. }
  5. //实现类
  6. @Service
  7. public class DemoStaffServiceImpl extends ServiceImpl<DemoStaffDao, DemoStaff> implements DemoStaffService {
  8.     @Resource
  9.     private DemoStaffDao demoStaffDao;
  10.    
  11.     @Override
  12.     public void saveStaff(DemoStaff staff){
  13.         this.save(staff);
  14.     }
  15. }
复制代码
        4.编写Dao层:
  1. @Mapper
  2. public interface DemoStaffDao extends BaseMapper<DemoStaff> {
  3. }
复制代码
        5.entity层:创建实体类来表示数据对象。
二、前端部分

1.创建Vue项目
2.编写组件:创建Vue组件来渲染页面和处理用户交互,比方:
  1. <template>
  2.   <div class="mod-config">
  3.     <!-- 表单区域 -->
  4.     <el-form :inline="true" :model="dataForm" @keyup.enter.native="search()">
  5.       <el-form-item>
  6.         <el-input v-model="dataForm.paramKey" placeholder="参数名" clearable></el-input>
  7.       </el-form-item>
  8.       <el-form-item>
  9.         <el-button @click="search()">查询</el-button>
  10.       </el-form-item>
  11.     </el-form>
  12.   </div>
  13. </template>
  14. <script>
  15.   export default {
  16.     data () {
  17.       return {
  18.         dataForm: {
  19.           paramKey: ''
  20.         }
  21.       }
  22.     },
  23.     components: {
  24.     },
  25.     activated () {
  26.     },
  27.     methods: {
  28.       search() {
  29.         this.pageIndex = 1
  30.         this.getDataList()
  31.       },
  32.       getDataList () {
  33.         this.dataListLoading = true
  34.         this.$http({
  35.           url: this.$http.adornUrl('/sys/config/list'),
  36.           method: 'get',
  37.           params: this.$http.adornParams({
  38.             'page': this.pageIndex,
  39.             'limit': this.pageSize,
  40.             'paramKey': this.dataForm.paramKey
  41.           })
  42.         }).then(({data}) => {
  43.           if (data && data.code === 0) {
  44.             console.log(data);
  45.           } else {
  46.             console.log(data);
  47.           }
  48.         })
  49.       }
  50.     }
  51.   }
  52. </script>
复制代码
        3.样式:利用CSS.
三、前后端交互

        1.跨域题目:在前后端分离开发中,会遇到跨域题目。后端可以通过设置跨域资源共享来办理。在 Spring Boot 中,可以添加如下设置类:
  1. @Configuration
  2. public class CorsConfig implements WebMvcConfigurer {
  3.     @Override
  4.     public void addCorsMappings(CorsRegistry registry) {
  5.         registry.addMapping("/**")
  6.             .allowedOrigins("*")
  7.             .allowCredentials(true)
  8.             .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
  9.             .maxAge(3600);
  10.     }
  11. }
复制代码
        2.前端调用后端接口:在Vue组件中调用后端提供的API接口。
        3.后端处理哀求:Spring Boot中的Controller接收前端的哀求,处理业务逻辑并返回数据。
        4.前端处理响应:Vue组件中通过异步哀求获取后端数据,然后更新页面。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

花瓣小跑

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表