본문 바로가기
Spring

[Spring + React] react input 데이터 springboot Controller 로 전달하기

by clolee 2022. 9. 5.

React

src/pages/SalesRegistrationPage.js

TextField 에 input으로 입력받을 numberOfToken 을 useState

TextField input 에 입력 후 버튼 클릭 시 이벤트 함수 handleClickRegister (axios로 전달)

  const [numberOfToken, setNumberOfToken] = useState();
  const handleClickRegister = (event, id) => {
    alert("save");
    axios
      .get("/product/insert", {
        params: { numberOfToken: numberOfToken },
      })
      .catch(function () {
        console.log("실패");
      });
    console.log("after", product);
  };

 

src/pages/SalesRegistrationPage.js > return()

TextField

              <TextField
                id="outlined-number"
                label="Number"
                type="number"
                InputProps={{
                  endAdornment: (
                    <InputAdornment position="end">조각</InputAdornment>
                  ),
                }}
                onChange={(e) => {
                  setNumberOfToken(e.target.value);
                }}
              />

 

 

SpringBoot

 

back-sto-sale-purchase/src/main/java/com/sto/salepurchase/backstosalepurchase/ProductAPIController.java

	@GetMapping("/product/insert")
	public List<Integer> numOfTokenInsert(@RequestParam Integer numberOfToken) {
		System.out.println("numOfToken : " + numberOfToken);
//		System.out.println(numberOfToken.getClass().getName());
		return Arrays.asList(numberOfToken);
	}

 

@RequestParam

외부에서 파라미터 받음

변수이름과 파라미터 이름이 같아야 함

@RequestParam option 중 required option의 default 값이 true 이다. 기본으로 값을 넘겨야 함.

localhost:8080/product/insert/numberOfToken=33 과 같은 형식으로 확인

파라미터를 제외하고 localhost:8080/product/insert 와 같이 요청하면 400 error

 

참고 :

2022.09.02 - [Java/Spring] - [Spring] inflearn 스프링 입문 - 스프링 웹 개발 기초 2

 

 

실행 결과

TextField 에 input값으로 99 입력 후 판매등록 버튼 클릭, 버튼 클릭 시 handleClickRegister 함수 실행

springboot에서 출력결과 확인

 

 

참고 : 

https://mui.com/material-ui/react-text-field/

https://devofroad.tistory.com/99?category=974758

https://mangkyu.tistory.com/72

https://ocblog.tistory.com/49

https://www.baeldung.com/spring-request-param

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestParam.html\

https://spring.io/guides/gs/serving-web-content/

 

 

댓글