使用React和springboot做前后端分離項目的步驟方式
前端React準備
第一步,全局安裝:npm i -g create-react-app

第二步,切換到想創(chuàng)項目的目錄,使用命令:create-react-app 加你要創(chuàng)建的項目名,例如create-react-app hello-react
第三步,進入項目文件夾:cd hello-react
第四步,安裝yarn add axios
第五步,啟動項目:npm start 或者yarn start

第六步,要修改的文件有以下兩個

App.js
import React,{Component} from 'react'
import axios from 'axios'
export default class App extends Component{
state = { //初始化狀態(tài)
aaa:[]
}
getStudentData = ()=>{
axios.get('http://localhost:3000/api1/ltl/students').then(
response => {console.log('成功了',response.data.user);
this.setState({aaa:response.data.user})
},
error => {console.log('失敗了',error);}
)
}
render(){
const {aaa}=this.state
console.log("111",aaa)
return (
<div>
<button onClick={this.getStudentData}>點我獲取學生數(shù)據(jù)</button>
<ul>
{
aaa.map((user)=>{
return (
<li>
<div key={user.id}>
<p>id: {user.id} 名字:{user.name} 密碼:{user.pwd}</p>
</div>
</li>
)
})
}
</ul>
</div>
)
}
}setupProxy.js
const proxy = require('http-proxy-middleware')
module.exports = function(app){
app.use(
proxy('/api1',{ //遇見/api1前綴的請求,就會觸發(fā)該代理配置
target:'http://localhost:8080', //請求轉(zhuǎn)發(fā)給誰
changeOrigin:true,//控制服務器收到的請求頭中Host的值
pathRewrite:{'^/api1':''} //重寫請求路徑(必須)
})
)
}后端準備
一、創(chuàng)建springboot項目
二、準備Maven依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>三、寫實體類和Controller

User.java
public class User {
private Integer id;
private String name;
private String pwd;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
public User() {
super();
}
public User(Integer id,String name, String pwd){
this.id=id;
this.name=name;
this.pwd=pwd;
}
}jsonController.java
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("/ltl")
public class jsonController {
@RequestMapping("/students")
public JSONObject jsonTest(){
User user1 = new User(1,"小明","123456xm");
User user2 = new User(2,"小紅","123456xh");
User user3 = new User(3,"小李","123456xl");
List list = new ArrayList<User>();
list.add(user1);
list.add(user2);
list.add(user3);
JSONObject jsonObject2 = new JSONObject();
jsonObject2.put("user",list);
System.out.println(jsonObject2);
return jsonObject2;
}
}前后端啟動
前端默認是3000端口號,后端默認為8080端口號

點擊按鈕可以接收到后端數(shù)據(jù)

點擊按鈕后后端接口成功被訪問

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis中SqlSession接口中selectList方法詳解
這篇文章主要給大家介紹了關(guān)于Mybatis中SqlSession接口中selectList方法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2023-03-03
監(jiān)控Spring Boot 項目運行情況操作方法
在實際開發(fā)中,經(jīng)常會遇到想要獲取到服務器應用的運行情況的場景,在微服務架構(gòu)下對于每個應用運行情況的監(jiān)控是保證系統(tǒng)高可用的關(guān)鍵,本文給大家介紹如何實現(xiàn)在Spring Boot的jar包中對系統(tǒng)的運行情況進行監(jiān)控操作,感興趣的朋友跟隨小編一起看看吧2024-08-08
Java ArrayList add(int index, E element)和set(int index, E el
今天小編就為大家分享一篇關(guān)于Java ArrayList add(int index, E element)和set(int index, E element)兩個方法的說明,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
SpringBoot生產(chǎn)環(huán)境打包如何去除無用依賴
這篇文章主要介紹了SpringBoot生產(chǎn)環(huán)境打包如何去除無用依賴問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09

