spring/SpringBoot

(Spring Boot)@GetMapping과 @PostMapping

ri5 2021. 6. 19. 17:27

@GetMapping(조회)


- controller example

@GetMapping("/members/new")
public String createForm() {
	return "members/createMemberForm";
}

 

● 웹브라우저가 "http://localhost:8080/member/new"를 접속했을경우 스프링에서 resources/template안에 있는 members/createMemberForm.html을 조회할 수 있게 한다.

 

 

@PostMapping(생성)


- controller example

@PostMapping("/members/new")
public String create(MemberFrom form) {
  Member member = new Member();
  member.setName(form.getName());

  memberService.join(member);

  return "redirect:/";
}

 

- html example

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
    <form action="/members/new" method="post">
        <div class="form-group">
            <label for="name">이름</label>
            <input type="text" id="name" name="name" placeholder="이름을 입력하세요">
        </div>
        <button type="submit">등록</button>
    </form>
</div> <!-- /container -->
</body>
</html>

 

- MemberForm.class

package hello.hellospring.controller;

public class MemberFrom {
    private String name;

    public String getName() {
        return name;
    }

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

● 브라우저를 통해 post방식으로 "members/new" 경로로 post 요청을 보낸다.

● 요청을 보내면서 form 안에 있는 input태그 안에 있는 이라는 값을 MemberForm이라는 객체형태로 만들어 데이터를 저장한다.