一个简单的前后端分离案例

一、IDEA 建一个spring boot 工程,只要spring web依赖即可
在这里插入图片描述
在这里插入图片描述

二、写一个测试接口

package com.example.demo;

import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RestController
public class TestController {

    @CrossOrigin //允许跨域请求
    @GetMapping("test")
    public Map test(String word){
        Map<String,String> resData = new HashMap<>();
        resData.put("msg",word);
        return resData;
    }
}

三、webstorm 新建一个react app
在这里插入图片描述
alt+F121进入控制台,装axios
npm install --save axios

写一个组件main.jsx

/* 用 户 登陆 的 路 由 组 件 */
import React, {Component} from 'react'
import axios from 'axios'

export default class Main extends React.Component {

    constructor(props) {
        super(props);
        this.state = {
            msg: 'original sentence',
        };
    }

    render() {
        return (
            <div>
                <button onClick = {() => {
                    let params = {
                        params:{  //这个是发送给后端的参数,需要有params作为key值
                            word:'Hello,World!',
                        }
                    }
                    axios.get('http://localhost:8080/test',params).then((response)=>{
                            console.log(response.data);
                            let {msg} = response.data;
                            console.log(msg)
                            this.setState({msg: response.data.msg})
                        }).catch((error)=>{
                            console.log(error)
                        })
                    // this.setState({msg: 'button onclick'})
                }}
                >调用接口</button>
                {this.state.msg}
            </div>
        );
    }
}

index.js

/* 入 口 JS */
import React from 'react'
import ReactDOM from 'react-dom'

import Main from './containers/main/main'

ReactDOM.render(<Main/>, document.getElementById('root'))

四、演示效果
在这里插入图片描述
当点击按钮时触发接口调用改变状态机的值
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值