[Practice] 공지사항 게시판 목록에 대한 요청 API 만들기 (2)

2021. 4. 12. 14:14Spring/Practice

1. 문제

  • REST API 형식으로 구현
  • HTTP METHOD는 GET
  • 요청 주소는 "/api/notice"
  • 리턴값은 공지사항 게시판의 내용을 추상화한 모델 (게시글 ID, 제목, 내용, 등록일)이며 데이터는 아래 내용 리턴
    • "게시글ID = 1, 제목 = 공지사항입니다, 내용 = 공지사항 내용입니다, 등록일 = 2021-01-01"

 

 

 

2. 풀이

- 패키지 구조

config
ㄴㅡ SecurityConfig

notice
ㄴㅡ controller
    ㄴㅡ ApiNoticeController
    
ㄴㅡ model
    ㄴㅡ NoticeModel

- NoticeModel.java

package com.example.jpa.sample.notice.model;

import lombok.Data;

import java.time.LocalDateTime;

@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;

@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;
    }
}

728x90