DevChw
인생을 모험하는 개발자
DevChw
전체 방문자
오늘
어제
  • 전체보기 (33)
    • 모험가의 Spring (24)
      • Spring (21)
      • Spring 이론 (1)
      • Spring Project (0)
      • Spring Exception (2)
    • 모험가의 Node-js (0)
    • 모험가의 끄적노트 (9)
      • 진행했던 프로젝트 (2)
      • Study (6)
    • 모험가는 계발중 (0)
    • 모험가의 공상일기 (0)
    • 모험가는 여행중 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 바다거북스프
  • 앱
  • 바다거북수프
  • 앱개발

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DevChw

인생을 모험하는 개발자

Spring 기초 : controller를 이용한 간단한 데이터 주고받기
모험가의 Spring/Spring

Spring 기초 : controller를 이용한 간단한 데이터 주고받기

2022. 7. 16. 20:38

1. Spring MVC

https://u0hun.tistory.com/15

 

MVC란? (Spring MVC)

https://gmlwjd9405.github.io/2018/12/20/spring-mvc-framework.html [SpringMVC] Spring MVC Framework란 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io https://developer.mo..

u0hun.tistory.com

 

2. Postman

https://testmanager.tistory.com/342

 

Postman을 사용한 POST 요청

POST 요청이란 무엇입니까? POST는 HTTP와 유사한 GET request로서, 이것은 클라이언트가 주어진 엔드 포인트에 데이터를 게시하고 있음을 지정합니다. POST 요청은 요청 본문 내부의 추가 정보를 서버

testmanager.tistory.com

 

개발은 위 사항을 숙지하였다는 가정하에 진행하며, 이해가 안 될 때마다 들어가서 보도록 하자.

이번에 다뤄볼것은 cotroller를 이용하여 포스트맨을 통해 JSON 타입으로 데이터를 간단하게 주고받아보려 한다.

 


폴더구조

controller와 user라는 패키지를 새로 만들어 각각의 패키지에 testController.java와 request를 받을 Param.java을 만들어준다.

 

Param.java

package studyTest.test.User;

public class Param {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

정말 간단하게 만들어 볼 것이기 때문에 name 만 파라미터 값을 받아보도록 하자.

 

testController.java

package studyTest.test.controller;

import org.springframework.web.bind.annotation.*;
import studyTest.test.User.Param;

@RestController
public class testController {

    @PostMapping("/test")
    public Param post(@RequestBody Param param) {
        Param param1 = new Param();
        param1.setName(param.getName());
        return param1;
    }
}

 

testController를 통해 맵핑(@PostMapping)을 한 후, 받은 값을 다시 JSON 형태로 반환하는 형태이다.

생성자를 통해 param1이라는 객체를 생성하여 받은 파라미터 값을 저장 후 JSON 형태로 return을 하는 구조이다. 간단한 코드이기에 긴 설명이 필요하진 않지만 각각의 어노테이션을 살펴보도록 하자.


🤔 어노테이션 이란?

사전적으로는 "주석"이라는 의미를 가지고 있으며, 프로그램 코드에 포함된 것이 아닌 프로그램에 관한 데이터를 제공해주며 정보를 추가하는 방법이다. 즉, 어노테이션을 사용하면 코드가 깔끔해지고 재사용이 가능하다.

 

@controller 또는 @RestController

: controller의 경우에 Model 객체를 만들어 데이터를 담고 View를 찾는 것이지만 RestController는 객체만을 반환하고 JSON 또는 XML 형식으로 HTTP 응답에 담아 전송을 한다. RestController는 @controller+@ResponseBody와 동일한 형태를 지니고 있으며

가장 큰 차이점으로는 모든 메소드가 뷰 대신 객체로 작성된다.

 

위 코드서는 View가 사용되지 않았기에 @RestController로 데이터 값만 확인하였다!

 

@Get/Post/Delete/Put/Patch + Mapping

: controller의 URI 메소드를 정하는데 쓰이며, 요청받는 형식을 Get/Post/Delete/Put/Patch 등으로 정할 수 있다. 위에서는 Post 방식을 사용하기 위해서 @PostMapping을 사용하였다.

 


그렇다면, 코드가 잘 작동되는지 확인하기 위해 서버를 켜고 포스트맨을 통하여 데이터를 주고받아보도록 하자.

 

메인클래스인 TestAplication.java에서 서버를 실행하게 되면

실행창

밑에 창의 실행을 보면 아래와 같이 8080 포트에 서버가 열렸다는 것을 확인할 수 있다. 정상적으로 서버가 열린 것을 확인하였으니 포스트맨으로 데이터를 보내보도록 하자.

포스트맨 사용

 

위와 같이 전송방식을 POST로 설정하고 자신의 로컬 호스트의 포트번호와 맵핑시킨 주소를 입력 후 Body에서 raw -> JSON으로 선택 후 필드에 { "name" : "Hello-Spring" }이라는 JSON 형식으로 Send 해주게 되면 

 

데이터가 JSON 형식으로 주고받아진 것을 확인할 수 있다.

'모험가의 Spring > Spring' 카테고리의 다른 글

Spring을 이용한 CRUD 구현_Create  (0) 2022.07.26
Spring 기초 : SpringDataJpa 사용하기  (0) 2022.07.20
Spring 기초 : 간단한 회원정보 입력받기 + MYSQL + JPA  (0) 2022.07.17
Spring 기초 : Mysql + Spring 연동  (0) 2022.07.17
Spring 공부에 들어가기전에  (1) 2022.07.16
    '모험가의 Spring/Spring' 카테고리의 다른 글
    • Spring 기초 : SpringDataJpa 사용하기
    • Spring 기초 : 간단한 회원정보 입력받기 + MYSQL + JPA
    • Spring 기초 : Mysql + Spring 연동
    • Spring 공부에 들어가기전에
    DevChw
    DevChw
    자기계발도 하면서 여행도 다니면서 취미도 즐기면서 모험도 하면서 살고싶은 개발자가 되고싶은 초보개발자

    티스토리툴바