diff --git a/src/main/java/com/server/autodevlog/gpt/controller/GPTController.java b/src/main/java/com/server/autodevlog/gpt/controller/GPTController.java index a04f6b6..e5c7948 100644 --- a/src/main/java/com/server/autodevlog/gpt/controller/GPTController.java +++ b/src/main/java/com/server/autodevlog/gpt/controller/GPTController.java @@ -8,6 +8,8 @@ import com.server.autodevlog.gpt.service.GPTArticleService; import com.server.autodevlog.gpt.service.CosineService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -73,4 +75,16 @@ public ResponseEntity cosine(@RequestBody CosineRequestDTO co CosineResponseDTO cosineResponseDTO = CosineResponseDTO.builder().cosineSimilarity(cosineSimilarity).build(); return ResponseEntity.ok(cosineResponseDTO); } + + @PatchMapping("/request/edit") + @Operation(summary = "생성 글 수정 API", description = "Request Body에 content에 해당하는 수정사항으로 레디스 해쉬값을 갱신합니다.") + @Parameters({ + @Parameter(name = "content", description = "이스케이프 처리된 수정글") + }) + public ResponseEntity edit(@RequestBody @Valid EditRequestDTO dto, + HttpServletResponse httpServletResponse){ + String gptArticleKey = gptArticleService.saveArticle(GPTArticle.builder().content(dto.getContent()).build()); + httpServletResponse.addCookie(new Cookie("article-hashcode", gptArticleKey)); + return ResponseEntity.ok(gptArticleService.findArticleContent(gptArticleKey)); + } } diff --git a/src/main/java/com/server/autodevlog/gpt/dto/EditRequestDTO.java b/src/main/java/com/server/autodevlog/gpt/dto/EditRequestDTO.java new file mode 100644 index 0000000..a68d0fe --- /dev/null +++ b/src/main/java/com/server/autodevlog/gpt/dto/EditRequestDTO.java @@ -0,0 +1,13 @@ +package com.server.autodevlog.gpt.dto; + +import lombok.Getter; + +import java.io.IOException; + +@Getter +public class EditRequestDTO { + String content; + public void setContent(String content) { + this.content = content; + } +} \ No newline at end of file