@GetMapping, @PostMapping 사용법
@GetMapping("/members/new")
public String createForm() {
return "members/createMemberForm";
}
@PostMapping("/members/new")
public String create(MemberForm form) {
Member member = new Member();
member.setName(form.getName());
memberService.join(member);
return "redirect:/";
}
URI를 매핑하고 템플릿으로 반환한다. (String)
<!-- ... -->
<form action="/members/new" method="post">
<div class="form-group">
<label for="name">이름</label>
<input type="text" id="name" name="name" placeholder="Input your name.">
</div>
<button type="submit">등록</button>
</form>
<!-- ... -->
<!-- ... -->
<table>
<thead>
<tr>
<th>#</th>
<th>이름</th>
</tr>
</thead>
<tbody>
<tr th:each="member : ${members}">
<td th:text="${member.id}"></td>
<!-- 알아서 getter에 접근한다 -->
<td th:text="${member.name}"></td>
</tr>
</tbody>
</table>
<!-- ... -->
접근을 변수에 바로 하더라도 getter로 접근하여 (propperties방식) 반환받는다.
// Member class
//...
public Long getId() {
return id;
}
//...
public String getName() {
return name;
}
//...
@GetMapping 우선순위
- Controller를 먼저 찾고
- 없으면 static 파일을 찾는다.