三、实际开发接口上传服务器交给前端调用

三、实际开发接口交给前端调用

3.1后端封装get接口

    @CrossOrigin
    @GetMapping(value = "/users_num", name = "返回注册用户数目")

    public String return_users_num(@RequestParam(value = "name", required = false) String name) {
        int users_num=data_getter.get_users_num();
        return String.format("%s", users_num == 0 ? "None" : users_num);
    }

3.2后端封装post接口

    @CrossOrigin
    @PostMapping("/delete_user")
    public String save(@RequestParam("code") String code){
        String errcode=data_deleter.delete_users(code);
        System.out.println(errcode);
        return  "删除成功";
    }

3.3前端调用get接口

import axios from 'axios'


export const get_users_num = () => {
    return axios.get( 'http://localhost:8880/data/users_num')
}

3.4前端调用post接口

import axios from 'axios'
import Qs from "qs";


export const delete_user = (user_code) => {
    const data = Qs.stringify({code:user_code});

    return axios.post('http://localhost:8880/data/delete_user',data);

}

3.5接口封装上传到linux

在这里插入图片描述
双击package自动封装,生成一个jar包
在这里插入图片描述
然后直接上上传到服务器,执行

java -jar 对应jar包的名字

接下来前端就可以通过http://ip:port访问了

个人总结

1.跨域问题:

有很多种解决方法,这个选择简单粗暴的直接注解 @CrossOrigin
参考:SpringBoot解决跨域问题的六种方式

2.前端post请求时有两种参数封装方法

1、URLSearchParams()类

// 两种方式

const params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');

2、qs转换

import Qs from "qs";
const data = qs.stringify({name:'zhangsan'}))


3.封装时报错

3.1一般问题

看看报错的依赖的版本,一般这样能解决
比如我的就是Gson的版本问题

3.2上面的没用的话

实在不行,可以点击下面的按钮,关闭测试模块
在这里插入图片描述

4.Spring创建的时候get到了一个项目分层知识点

我这里只用到了Controller和Service层

5.1 初学Springboot分层

盗图,侵删

5.各分层含义

  • controller:编写后端提供前端的接口。
  • dao:与在mapper中Mybatis的xml中,sql语句相互形成映射关系,一般为对应实体类简单数据库操作的接口。
  • entity:主要放实体类Bean。
  • service:业务层,编写复杂的服务功能,例如:复杂的数据库操作等。
  • impl:整合service和dao层内容,提供后端完整接口调用。
  • mapper:放Mybatis的xml文件。

5.记得给服务器的端口开安全组配置

谨记!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值