[Practice] 공지사항 게시판 목록에 대한 요청 API 만들기 (3)
2021. 4. 12. 14:16ㆍSpring/Practice
1. 문제
- REST API 형식으로 구현
- HTTP METHOD는 GET
- 요청 주소는 "/api/notice"
- 리턴값은 공지사항 게시판의 내용을 추상화한 모델 (게시글 ID, 제목, 내용, 등록일)이며 복수 형태의 데이터를 리턴
- "게시글ID = 1, 제목 = 공지사항입니다, 내용 = 공지사항 내용입니다, 등록일 = 2021-01-01"
- "게시글ID = 2, 제목 = 두번째 공지사항입니다, 내용 = 두번째 공지사항 내용입니다, 등록일 = "2021-01-02"
2. 풀이
- NoticeModel.java
package com.example.jpa.sample.notice.model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@AllArgsConstructor // 모든 필드의 생성자
@NoArgsConstructor // 기본 생성자
@Builder // 빌더 패턴
@Data // Getter, Setter
public class NoticeModel {
// ID, 제목, 내용, 등록일
private int id;
private String title;
private String contents;
private LocalDateTime regDate;
}
- ApiNoticeController.java
package com.example.jpa.sample.notice.controller;
import com.example.jpa.sample.notice.model.NoticeModel;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@RestController
public class ApiNoticeController {
/*
// 문제 6
@GetMapping("/api/notice")
public String noticeString() {
return "공지사항입니다.";
}
*/
/*
// 문제 7
@GetMapping("/api/notice")
public NoticeModel notice() {
LocalDateTime regDate = LocalDateTime.of(2021, 1, 1, 0, 0);
NoticeModel notice = new NoticeModel();
notice.setId(1);;
notice.setTitle("공지사항입니다.");
notice.setContents("공지사항 내용입니다.");
notice.setRegDate(regDate);
return notice;
}
*/
// 문제 8
@GetMapping("/api/notice")
public List<NoticeModel> notice() {
List<NoticeModel> noticeList = new ArrayList<>();
noticeList.add(NoticeModel.builder()
.id(1)
.title("공지사항입니다.")
.contents("공지사항 내용입니다.")
.regDate(LocalDateTime.of(2021, 1, 1, 0, 0))
.build()
);
noticeList.add(NoticeModel.builder()
.id(2)
.title("두번째 공지사항입니다.")
.contents("두번째 공지사항 내용입니다.")
.regDate(LocalDateTime.of(2021, 1, 2, 0, 0))
.build()
);
return noticeList;
}
}
JRebel을 이용하면 바로 코드를 반영할 수 있다.
728x90
'Spring > Practice' 카테고리의 다른 글
[Practice] 공지사항 게시판 목록에 대한 요청 API 만들기 (5) (0) | 2021.04.12 |
---|---|
[Practice] 공지사항 게시판 목록에 대한 요청 API 만들기 (4) (0) | 2021.04.12 |
[Practice] 공지사항 게시판 목록에 대한 요청 API 만들기 (2) (0) | 2021.04.12 |
[Practice] 공지사항 게시판 목록에 대한 요청 API 만들기 (1) (0) | 2021.04.12 |