14.5.3 게시글 삭제하기

    마지막으로 게시글을 삭제하는 delete 핸들러 함수를 구현해봅시다. 이번 함수는 update와 매우 유사합니다. 게시글이 자신의 게시글인지 확인하고, 자신의 것이라면 삭제 처리하고 그렇지 않다면 오류를 응답합니다.

    api/article/controllers/article.js

    const { sanitizeEntity } = require('strapi-utils');
    
    module.exports = {
      async create(ctx) {
        (...)
      },
    
      async update(ctx) {
        (...)
      },
      
      async delete(ctx) {
        const { id } = ctx.params; // URL 파라미터에서 id 추출
        const article = await strapi.services.article.findOne({ id }); // id로 데이터 조회
    
        // 데이터가 존재하지 않을 때
        if (!article) {
          return ctx.throw(404);
        }
    
        // 사용자 id article의 작성자 id가 일치하는지 확인
        if (ctx.state.user.id !== article.user.id) {
          return ctx.unauthorized(`You can't remove this entry`);
        }
    
        // 응답 반환
        ctx.status = 204; // no content
      },
    };
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.