์ด๋ฒ์ ์คํํธ์ ์ ์ทจ์ ํ๋ฉด์ ๋ง์ ๊ฑธ ๋ฐฐ์ฐ๋ ๋์์ ๋ง์ ๊ฒ ์ซ์ด์ก๋ค.
ํ์ง๋ง ๋ฒํฐ๊ณ ๋๋ฉด ์ถ์ต์ด๊ณ ๋์ ๊ฒฝ๋ ฅ์ด ๋๊ฒ ์ง ... ใ ๊ฟป
์ฐ์ ์ฒ์ ํ๋ก์ ํธ๋ฅผ ๋ค์ด๊ฐ์ ์ฒ์์ผ๋ก ์ฌ์ฉํด ๋ดค๋ค. ํ์์์ ๋ง์ด ์ฌ์ฉํ์ง ์๋๋ค๊ณ ๋ฐฐ์ ์ง๋ง
์ด๋ฒ์ ์ฌ์ฉํ๋ฉด์ ๊ฐ๋ ์ฑ๋ฉด์์ ๋งค์ฐ ์ข๋ค๊ณ ๋๊ผ๊ธฐ ๋๋ฌธ์ ๋์ค์ ์ํด ์ ๋ฆฌํ๋ค!
Spring Boot ์์ api ์ค๊ณ ์ค
๋ฐฐ์ก ๊ธฐ๋ฅ์ ๋ง๋ค๋ฉด์ ๋ฐฐ์ก์ํ ๊ด๋ฆฌ๋ฅผ ํ๋๋ฐ 1,2,3... ๋ฑ ์ซ์๋ก ํํ๋์ด 1์ด ๋ฌด์์ธ์ง 2๊ฐ ๋ฌด์์ธ์ง ์ผ์ผ์ด ์ฐพ์๋ณด๊ธฐ ๋ฒ๊ฑฐ๋ก์ ๋ค.
๋ํ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ ์ด๋ค ๊ฑด์ง ํท๊ฐ๋ฆด ๊ฑฐ ๊ฐ์ Enumํ์ ์ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
@Getter
public enum SomethingStatus {
PAYMENT_COMPLETE(0),
PREPARING(1),
CANCEL(2),
DELIVERING(3),
DELIVERY_COMPLETED(4);
private final int state;
SomethingStatus(int state) {
this.state = state;
}
1. enumํ์ ์ผ๋ก ํ์ผ์ ๋ง๋ค์ด์ฃผ๊ณ ํ๋์ ํด๋น ์ซ์์ ๋ง๋ ์ฉ์ด๋ฅผ ์ ์ด์ฃผ์๋ค.
2. parameter๋ก ๋ฐ์ state๋ฅผ ์ ์ธํด์ฃผ๊ณ
3. ์์ฑ์๋ก ๋ฐ์ ํ๋์ ๋งคํ์์ผ์ฃผ์๋ค.
+ ์ถ๊ฐ๋ก getter๋ฅผ ๋ง๋ค์ด์ฃผ์ง ์๊ณ lombok์ @Getter๋ฅผ ์ด์ฉํ์ฌ ๊น๋ํ๊ฒ ํํ๋๊ฒ ํ์๋ค.
์ฌ์ฉํ ๋๋
OrderStatus.DELIVERING ์ด๋ฐ ์์ผ๋ก ์ฌ์ฉํ๋ฉด DB์ 3์ผ๋ก update ๋๊ฑฐ๋ insert ๋๋ค.
API๋ฅผ ๊ตฌ์ฑํ๋ฉด์ ์ํ์ฐฉ์ค ์ค ํ๋๊ฐ ์ด enum ํ์ ์ด int์ธ ๊ฒฝ์ฐ PathVariable๋ก ๋ฐ์ผ๋ฉด ์ ๋๋ค. PathVariable๋ก ๋ฐ๊ฒ ๋๋ฉด ๋ฌด์กฐ๊ฑด String ์ผ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ํ์ ์ค๋ฅ๊ฐ ๋ฐ๊ฒ์ด๋ค!
RequestDto
@Getter
public class RequestDto {
private int state;
}
Controller
@PutMapping("/something/user/state")
public ResponseEntity cancel(
@PathVariable Long userId, @RequestBody Requeststate requestState) {
return user.state(userId, requestState);
}
'๐ WEB > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ด๊ฐ ๋ณด๋ ค๊ณ ์ ๋ฆฌํ๋ JAVA ๋ฉํฐ ์ค๋ ๋ 1 - ๋ฉํฐ์ค๋ ๋ ๊ฐ๋ (0) | 2021.09.13 |
---|---|
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ - ๊ฐ์ฒด, ์บก์ํ (0) | 2020.12.05 |
[JAVA] ์ ๋ฐ์ดํฐ ํ์ ์ ๋ถ๋ฅ (0) | 2020.06.23 |
Java Enum์ด๋? (0) | 2020.04.19 |
๋๋ค์ (stream,map,collect) (0) | 2020.04.13 |