일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 유니티Cube
- spring jpa 사이드프로젝트
- 유니티기초
- 타입스크립트 기본문법
- 스프링부트 미니프로젝트
- JS기초
- springboot 게시판만들기
- jpa 게시판
- springboot 사이드프로젝트
- python 괄호 회전하기
- springboot 게시판
- 스프링부트 회원가입
- 파이썬 괄호 회전하기
- 스프링부트 블로그
- 유니티
- springboot 미니프로젝트
- 스프링게시판프로젝트
- 괄호 회전하기 파이썬
- 스프링부트 블로그만들기
- 스프링부트 update
- 프로그래머스 괄호 회전하기 python
- 유니티Material
- 타입스크립트 기초
- springboot 게시판 프로젝트
- typescript 기초문법
- 파이썬 기초
- 스프링부트 게시판만들기
- spring jpa 게시판
- 스프링 게시판 만들기
- 타입스크립트 기초문법
- Today
- Total
Digking's cave
My First Blog Project (3) : HTTP 체험하기 (GET/PUT/UPDATE/DELETE) / @RestController / @RequestParam / @RequestBody 본문
My First Blog Project (3) : HTTP 체험하기 (GET/PUT/UPDATE/DELETE) / @RestController / @RequestParam / @RequestBody
디깅 2022. 12. 16. 09:38
1. Postman 설치하기
https://www.postman.com/downloads/
2. stateless & stateful 알아보기
stateless : 요청시마다 스트림을 연결해서 data를 주고 받음
stateful : 연결이 지속 (ex: 채팅)
3. MIME 타입 알아보기
https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
4. HTTP 실습 진행
HttpControllerTest 에 Get/Post/Put/Delete 작성
HttpControllerTest.java
package com.cos.blog.test;
//@Controller 사용자가 요청하면 html을 응답
//@RestController 사용자가 요청하면 data를 응답
import org.springframework.web.bind.annotation.*;
@RestController
public class HttpControllerTest1 {
// @GetMapping("http/get")
// public String getTest(@RequestParam int id, @RequestParam String username){
// return "get 요청"+id+" & "+username;
// }
@GetMapping("http/get")
public String getTest_2(Member member){
return "get 요청 "+ member.getId()+" & "+member.getUsername()+" & "+member.getPassword() +" & " + member.getEmail();
}
// @PostMapping("http/post")
// public String postTest(Member member){
// return "get 요청 "+ member.getId()+" & "+member.getUsername()+" & "+member.getPassword() +" & " + member.getEmail();
// }
@PostMapping("http/post")
public String postTest(@RequestBody String text){
return text;
}
@PutMapping("http/put")
public String putTest(){
return "put 요청";
}
@DeleteMapping("http/delete")
public String deleteTest(){
return "delete 요청";
}
}
# Controller 종류
@Controller : 사용자가 요청하면 html을 응답
@RestController : 사용자가 요청하면 data를 응답
# 주소창에 입력되는 querystring 값을 받는 방법
@RequestParam
값을 각각 입력하고 값을 받음
Model
model로 전체를 받아서 필요한 값을 get()하여 사용할 수 있다.
@RequestBody
querystring 으로 값을 보내는 것이 아니라, Body에 담아서 값을 보냈을 경우에 받는 방법이다.
body에 형태를 지정하여 보낸 형태에 맞게 받으면 된다.
ex)
x-www-form-urlencoded(form) - Model 로 받음
body의 raw / text 형태 - String 로 받음
body의 raw / json형태 - Model 로 받음
-> springBoot에 MessageConverter 가 자동으로 형태 변형해서 받아준다.
body의 raw / text 형태 - String 으로 받으려고하면 받지 못함
# 인터넷브라우저를 통한 요청은 get 요청밖에 할 수 없다
Member.java
package com.cos.blog.test;
public class Member {
private int id;
private String username;
private String password;
private String email;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
test.jsp
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>jsp test</p>
</body>
</html>
'Spring > My First Blog Project' 카테고리의 다른 글
My First Blog Project (6) : 회원가입 구현 (Insert / ENUM 사용) (0) | 2022.12.16 |
---|---|
My First Blog Project (5) : 테이블 만들기(User,Board,Reply) / JPA 설정 / JPA 연관관계매핑 /양방향매핑 (0) | 2022.12.16 |
My First Blog Project (4) : Maven / Lombok / Yaml / Jsp 설정 (0) | 2022.12.16 |
My First Blog Project (2) : 프로젝트 생성 및 프로젝트 환경세팅 (0) | 2022.12.09 |
My First Blog Project (1) : Spring Boot 로 블로그 만들기 (0) | 2022.12.09 |