[게시판] 게시글 수정(2)
·
Project 댕린이집
이제 본격적으로 수정 기능을 구현해보겠습니다.  [ 클라이언트 ] BoardView.jsisAuthor가 true 라면 버튼이 렌더링되고 edit() 함수를 실행하게 됩니다.  edit() 함수 // 게시글 수정 페이지로 이동 let edit = (id) => { console.log(id); navigate(`/editBoard/${id}`); }; edit 함수가 실행되면 /editBoard 페이지로 이동하게 됩니다. App.js }> App.js에 새로운 페이지를 등록해줘야겠죠.  EditBoard.js더보기import React, { useState, useEffect } from "react";import axios from "axios";import..
[게시판] 게시글 수정(1) - 사용자 판별하여 수정/삭제 버튼 렌더링
·
Project 댕린이집
게시글 수정 기능 구현 과정을 기록해보겠습니다.먼저, 모든 사용자가 모든 글에 대한 수정과 삭제 권한을 갖으면 안되므로 해당 글의 작성자에게만 수정/삭제 권한을 줄 것입니다. 현재 로그인한 사용자 = 특정 글 작성자 라면 글 상세보기 화면에서 수정/삭제 버튼이 렌더링 되게하고해당 기능을 실행할 수 있도록 구현했습니다.   📌 현재 로그인한 사용자 = 특정 글 작성자 인지 판별하는 로직 [ 서버 ]  BoardService.java public Map boardDetail(Long id) { BoardEntity boardEntity = boardRepository.findById(id) .orElseThrow(() -> new RuntimeException("게시글을 찾을 수 없습니다.")); ..
[게시판] 게시글 상세조회
·
Project 댕린이집
게시글 전체목록 조회는 구현했으니 이제 특정 글의 상세정보를 조회하는 기능을 구현해봅니다!특정 ID의 글을 못 찾아오는 사소한 이슈가 있었어서 그것도 함께 기록해볼 생각입니다.  [ 서버 ]   먼저, BoardEntity 입니다.package com.example.demo.entity;import jakarta.persistence.*;import lombok.*;import java.time.LocalDate;import java.util.List;@Entity(name = "board")@Getter@Setter@Builder@AllArgsConstructor@NoArgsConstructorpublic class BoardEntity { @Id @GeneratedValue(strategy = Ge..
[게시판] 게시글 전체 목록 조회
·
Project 댕린이집
게시글 목록 조회를 구현할건데요, entity와 dto, repository는 특별하게 추가한게 없어서 생략하겠습니다!   [ 서버 ]   BoardController.javapackage com.example.demo.controller;import com.example.demo.dto.BoardDTO;import com.example.demo.service.BoardService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;import java.util.List;@RestController@RequestMapping("/api/v1/auth/n")p..
[게시판] 게시글 작성
·
Project 댕린이집
게시판 작성 기능은 로그인한 회원만 사용할 수 있게 구현할 생각입니다. 1. 먼저 로그인을 한 상태라면? 게시글 작성 버튼을 누를시 작성 화면으로 이동2. 로그인을 안 한 상태라면? 로그인이 필요하다는 알림을 띄우고 로그인 화면으로 이동3. 현재 로그인한 사용자의 정보를 가져오기4. 새로운 게시글 생성: 클라이언트로부터 받은 DTO를 ENTITY로 변환하고 필요한 필드 설정5. Repository를 이용해 entity를 저장6. 클라이언트로 응답을 보내기 위해 ENTITY를 다시 DTO로 변환하여 리턴 처음에는 일반적인 로직을 구현을 했는데요나중에 유틸리티 메소드를 사용하여 리팩토링 했습니다.현재 인증된 사용자를 가져오는 작업은 거의 모듈마다 다 필요로 하다고 생각되어 보안 컨텍스트에서 사용자 ID를 가..
xoo | 수진