springBoot前后端联调demo

1.后端 

package com.yangho.controller;

import com.baomidou.mybatisplus.extension.api.R;
import com.yangho.Domain.Result;
import com.yangho.Domain.Role;
import com.yangho.service.RoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.lang.reflect.Method;
import java.util.List;

/**
 * @ClassName RoleController
 * @Description
 * @Author Yanghao2
 * @Date 2022/2/1 15:45
 * @Version V1.0
 */
@RestController
/*@CrossOrigin  //全部域名放行*/

@RequestMapping("/roles"
)public class RoleController {

    @Autowired
    private RoleService roleService;

    @CrossOrigin  //指定方法放行
    @GetMapping
    public Result findAll() {

        return new Result(true,roleService.findAll());
    }

    @PostMapping
    public Result insert(@RequestBody(required = false) Role role) {

        return new Result(roleService.insert(role));
    }

    @PutMapping
    public Result update(@RequestBody Role role) {
        return new Result(roleService.updateByEntry(role));
    }
}

2.前端


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SpringBoot前后端联调测试</title>

</head>
<body>
<script src="../static/js/Axios.js"></script>
<script src="../static/js/Vue.js"></script>
<div id="app">
    <input type="submit" v-on:click = "getAll" value="查询全部" >
    {{ message }}
    <table border="1" cellspacing="0" align="center">
        <thead align="center" >
        <td>序号</td>
        <td>姓名</td>
        <td>简介</td>
        </thead>
        <tr v-for = "(item,index) in roleArr" align="center">
            <td>{{ item.id }}</td>
            <td>{{item.roleName}}</td>
            <td>{{item.roleDesc}}</td>
        </tr>
    </table>
</div>

<script>

    var app = new Vue({
        el:'#app',
        data:{
            message:"你好!111",
            roleArr :[]
        },
        methods: {
            getAll:function () {
                alert("!!!")
                that = this
                axios.get("http://localhost:8080/roles").then((Result) =>{
                    console.log(Result)
                    var i = -1
                    for (var role of Result.data.data) {
                        i++
                        console.log(role)
                        /*this.roleArr.push[i]({id,roleName,roleDesc})
                        this.roleArr.id = role.id
                        this.roleArr.roleName = role.roleName
                        this.roleArr.roleDesc = role.roleDesc*/
                        this.roleArr.push(role)

                        }



                    console.log(this.roleArr)
                }),function (err) {
                    console.log(err)
                }
            }
        }
    })

</script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot前后端分离的实现方式有多种,以下是其中一种常见的方式: 1. 前端技术选型 前端技术可以选择Vue、React、Angular等主流框架,也可以选择使用纯HTML、CSS、JavaScript等技术实现。 2. 后端技术选型 后端技术可以选择Spring BootSpring Cloud等技术栈,也可以选择其他语言的后端技术实现。 3. 接口设计 前后端分离的核心在于接口的设计,需要设计出符合RESTful风格的接口,包括接口的URL、请求方式、请求参数、响应数据等。 4. 接口文档 为了方便前端开发人员调用接口,需要编写接口文档,包括接口的说明、请求参数、响应数据等。 5. 前后端联调 前后端联调时,前端开发人员需要调用后端提供的接口,获取数据并展示在页面上。 6. 部署上线 前后端分离的项目可以分别部署,也可以打包成一个整体部署。部署时需要注意前后端的端口号、跨域等问题。 ### 回答2: Spring Boot 是一个非常流行的 Java 微服务框架,常用于构建高性能、分布式的 Web 应用程序。在 Spring Boot 中,实现前后端分离的方式有很多,其中最常见的方式是通过 RESTful API 实现。 下面是实现 Spring Boot 前后端分离的步骤: 1. 定义 RESTful 接口 首先,我们需要定义 RESTful 接口,该接口用于处理来自前端的请求,并返回 JSON 格式的数据。在 Spring Boot 中,可以使用注解 @RestController 定义 RESTful 接口,并使用注解 @RequestMapping 指定接口的 URL 地址。 例如: @RestController @RequestMapping("/api/") public class UserController { @GetMapping("user/{id}") public User getUserById(@PathVariable Long id) { // 查询数据库,返回 User 对象 return userService.getUserById(id); } @PostMapping("user") public User addUser(@RequestBody User user) { // 将用户信息保存到数据库 return userService.addUser(user); } } 2. 实现前端页面 接下来,我们需要实现前端页面。在前端页面中,我们可以使用 AJAX 技术,向后台发送请求,并将返回的 JSON 数据显示在页面上。 例如: <script type="text/javascript"> function getUserById(userId) { $.ajax({ url: "/api/user/" + userId, type: "GET", success: function(data) { // 将返回的数据显示在页面上 $("#username").text(data.username); $("#email").text(data.email); } }); } function addUser() { var user = { username: $("#username").val(), email: $("#email").val() }; $.ajax({ url: "/api/user", type: "POST", data: JSON.stringify(user), contentType: "application/json", success: function(data) { // 显示保存成功的提示信息 alert("保存成功!"); } }); } </script> 3. 配置跨域请求 因为前后端分离的方式下,前端页面和后台接口是分开的,所以需要配置跨域请求。在 Spring Boot 中,可以使用注解 @CrossOrigin 配置跨域请求。 例如: @RestController @RequestMapping("/api/") @CrossOrigin(origins = "*", maxAge = 3600) public class UserController { ... } 4. 打包部署应用程序 最后,我们需要将应用程序打包成 WAR 包,并部署到 Web 服务器中。在部署时,需要注意将前端页面和后端接口部署到不同的服务器上。 以上就是实现 Spring Boot 前后端分离的基本步骤。在实际开发中,还可以通过使用框架、组件等辅助工具来简化开发过程,提高开发效率。 ### 回答3: Spring Boot是一个优秀的框架,它可以为我们提供一些特殊的能力和良好的支持,特别是在前后端分离开发模式下,它非常适合构建RESTful API,这里将介绍如何实现Spring Boot前后端分离的方式。 前后端分离的方式通常是采用RESTful API的方式,后端通过Restful API提供数据,前端页面通过Ajax技术向后端请求数据并将数据展示在界面上。因此,实现Spring Boot前后端分离需要依次实现以下几个步骤。 第一步,添加依赖库 首先,需要在pom.xml配置文件中添加以下依赖库,来支持Spring Boot实现RESTful API的功能: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` 第二步,添加Controller 在后端代码中,需要添加Controller,来定义RESTful API的访问路径,为前端页面请求提供数据接口。例如: ``` @RestController @RequestMapping("/api") public class ApiController { @GetMapping("/hello") public String hello() { return "Hello, World!"; } } ``` 第三步,编写前端页面 在前端开发中,需要利用ajax等技术,请求后端的Controller提供的数据接口。通常我们可以采用Vue.js、React等框架实现前端页面的开发,这里以Vue.js为例: ``` <template> <div> <h1>{{message}}</h1> </div> </template> <script> export default { data() { return { message: '' }; }, mounted() { this.$http.get('/api/hello').then((response) => { this.message = response.body; }, (error) => { console.log(error); }); } } </script> ``` 第四步,运行测试 最后,运行Spring Boot应用程序,访问前端页面的地址就会向后端的RESTful API发送请求,并将数据返回展示在界面上。如果一切正常,则实现Spring Boot前后端分离的方式。 总结 以上是实现Spring Boot前后端分离的基本步骤,需要注意的是,在前后端分离开发中,前端与后端的职责分工明确,前端负责展示和交互,后端负责数据和业务逻辑,因此需要精细划分各自的职能,以达到更好的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值