sanhaa
sanha story
sanhaa
전체 방문자
오늘
어제
  • 분류 전체보기 (93)
    • 일상 (3)
    • Programming (42)
      • Back-end Language (32)
      • Front-end Language (8)
      • Database Language (2)
    • Etc. (35)
      • Coding Test (23)
      • Algorithm (7)
      • Data structure (1)
      • IDE (1)
      • Job Preparation (3)
    • Project (3)
    • Engineer Information Proces.. (10)
    • secret space (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 투 포인트 알고리즘
  • spring #java #k6 #
  • oEmebed
  • Spring
  • 연속된 자연수의 합 구하기
  • DFS #백준
  • 코딩테스트
  • 프로그래머스
  • DML #정처기 #시나공 #SQL #MYSQL #SPRING #JAVA
  • JAVA #백준 #구간합
  • 백준
  • iterator #
  • 백준 2018번
  • 주몽의명령
  • 사이드 프로젝트 #여기로모여라 #web socket #실시간 위치공유
  • 스택
  • hash #java #프로그래머스 #코딩테세트 #백준
  • 정보처리기사 #정처기 #기출 #2021기출
  • 큐
  • JAVA 구간 합 구하기
  • 1253번
  • 알고리즘
  • Java
  • 신고받기
  • 시간복잡도 #JAVA #코딩테스트
  • 삼발자 #일상
  • 자바
  • 정처기 #DCL #SQL #DB
  • DDL #SQL #DB #정보처리기사 #SQL응용 #MySQL
  • connection reset by peer

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
sanhaa

sanha story

[개발환경] Spring boot+React   연동하기
Programming/Back-end Language

[개발환경] Spring boot+React 연동하기

2022. 3. 23. 16:20

SpringBoot 와 React의 역할 

  • Back-end : Spring boot
  • Front-End : React.js 

 

 

1.Spring에서 gradle 프로젝트 생성 

 

2. Webapp에 react 폴더 생성 

3. vs코드에서 오른쪽 버튼 클릭 -> 작업 영역에 폴더 추가 ->  react 추가

 

4. 터미널에서  react 폴더로 이동하여 npm install 

 

완료된 vs 화면

5. App.js 수정

import React, { useState, useEffect } from 'react';
import axios from 'axios'
import './App.css';

function App() {

  const [ testStr, setTestStr ] = useState('');
  const [ test2Str, setTest2Str ] = useState('');

  function callback(str) {
    setTestStr(str);
  }

  function callback2(str){
    setTest2Str(str);
  }

useEffect(
  () => {
    axios({
        url: '/home',
        method: 'GET'
    }).then((res) => {
        callback(res.data);
    })
  }, []
);

return (
  <div className="App">
      <header className="App-header">
        
          {testStr}
          {test2Str}
      </header>
  </div>
);
}

export default App;

axios를 이용하여 url: '/home' 값을 보낸다. 

 

다음 Spring에서 TestController 생성

 

package com.sugang.san;

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


@CrossOrigin("*")  
@RestController
public class TestController {
    @GetMapping("/home")
    public String getHome(){
    	System.out.println("ㅎㅇ!");
        return "안녕하새우";
    } 
     
 
}

@crossOrigin(*)을 이용하여 모든 매핑을 받는다. 

@GetMapping을 이용하여 axios에서 url: "/home" 보낸 값을 testController에서 받는다. 그 후 "안녕하새우" 리return (

return (
  <div className="App">
      <header className="App-header">
        
          {testStr}
      
      </header>
  </div>
);
}

export default App;

받은 값은 {testStr}값에 넣어서 화면에 출력한다. 

 

 

최종화면 

 

'Programming > Back-end Language' 카테고리의 다른 글

[Spring] @ResponseBody은 무엇일까?  (0) 2022.03.28
[Spring]Failed to load resource: the server responded with a status of 404 () 오류 해결 방법  (0) 2022.03.24
[Spring] The import org.springframework.boot.test cannot be resolved 해결 방법  (0) 2022.02.21
[JAVA]Call by value와 Call by referenece  (0) 2022.02.13
[JAVA] Servlet 로그인 페이지 만들기 (2) 마지막  (1) 2022.01.05
    'Programming/Back-end Language' 카테고리의 다른 글
    • [Spring] @ResponseBody은 무엇일까?
    • [Spring]Failed to load resource: the server responded with a status of 404 () 오류 해결 방법
    • [Spring] The import org.springframework.boot.test cannot be resolved 해결 방법
    • [JAVA]Call by value와 Call by referenece
    sanhaa
    sanhaa
    sanha history book

    티스토리툴바