Package com.arms.api.aichat.controller
Class AiChatController
java.lang.Object
com.arms.api.aichat.controller.AiChatController
@RestController
@RequestMapping("/auth-user/api/aichat")
public class AiChatController
extends Object
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<ChatRoom>>createRoom(org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser, ChatRoomRequest request) 새 대화방 생성 POST /auth-user/api/aichat/roomsreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>>deleteLastSelection(org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser) 마지막으로 선택한 pdService, pdServiceVersion 삭제 DELETE /auth-user/api/aichat/last-selectionreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>>deleteRoom(org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser, String roomId) 대화방 삭제 DELETE /auth-user/api/aichat/rooms/{roomId}reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<LastSelectionRequest>>findLastSelection(org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser) 마지막으로 선택한 pdService, pdServiceVersion 조회 GET /auth-user/api/aichat/last-selectionreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<RagDocsRequest>>findRagDocs(String roomId) roomId별 RAG/Wiki 문서 조회 GET /auth-user/api/aichat/rooms/{roomId}/rag-docsreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<List<CardContextItem>>>getCardContext(org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser) 카드 영역 조회 (입력창 하단, 고정 추천 카드) GET /auth-user/api/aichat/cards/contextreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<List<ChatMessage>>>getMessages(String roomId) 대화내용 조회 GET /auth-user/api/aichat/rooms/{roomId}/messagesgetRoom(org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser) 대화방 조회(history) GET /auth-user/api/aichat/roomsreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>>replaceLastAssistantMessage(String roomId, ChatMessageRequest request) 마지막 assistant 메시지 덮어쓰기 (체크박스 재답변용) PUT /auth-user/api/aichat/rooms/{roomId}/messages/last-assistantreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>>saveLastSelection(org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser, LastSelectionRequest request) 마지막으로 선택한 pdService, pdServiceVersion 저장 POST /auth-user/api/aichat/last-selectionreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<ChatMessage>>saveMessage(String roomId, ChatMessageRequest request) 대화내용 저장 user/assistant POST /auth-user/api/aichat/rooms/{roomId}/messagesreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>>saveRagDocs(String roomId, RagDocsRequest request) roomId별 RAG/Wiki 문서 저장 (질문할 때마다 덮어씀) POST /auth-user/api/aichat/rooms/{roomId}/rag-docsreactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>>updateRoom(String roomId, ChatRoomUpdateRequest request) 대화방 제품/버전 정보 업데이트 PATCH /auth-user/api/aichat/rooms/{roomId}
-
Constructor Details
-
AiChatController
public AiChatController()
-
-
Method Details
-
createRoom
@PostMapping("/rooms") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<ChatRoom>> createRoom(@AuthenticationPrincipal org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser, @RequestBody(required=false) ChatRoomRequest request) 새 대화방 생성 POST /auth-user/api/aichat/rooms -
updateRoom
@PatchMapping("/rooms/{roomId}") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>> updateRoom(@PathVariable String roomId, @RequestBody ChatRoomUpdateRequest request) 대화방 제품/버전 정보 업데이트 PATCH /auth-user/api/aichat/rooms/{roomId} -
replaceLastAssistantMessage
@PutMapping("/rooms/{roomId}/messages/last-assistant") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>> replaceLastAssistantMessage(@PathVariable String roomId, @RequestBody ChatMessageRequest request) 마지막 assistant 메시지 덮어쓰기 (체크박스 재답변용) PUT /auth-user/api/aichat/rooms/{roomId}/messages/last-assistant -
saveMessage
@PostMapping("/rooms/{roomId}/messages") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<ChatMessage>> saveMessage(@PathVariable String roomId, @RequestBody ChatMessageRequest request) 대화내용 저장 user/assistant POST /auth-user/api/aichat/rooms/{roomId}/messages -
getRoom
@GetMapping("/rooms") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<List<ChatRoom>>> getRoom(@AuthenticationPrincipal org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser) 대화방 조회(history) GET /auth-user/api/aichat/rooms -
getMessages
@GetMapping("/rooms/{roomId}/messages") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<List<ChatMessage>>> getMessages(@PathVariable String roomId) 대화내용 조회 GET /auth-user/api/aichat/rooms/{roomId}/messages -
deleteRoom
@DeleteMapping("/rooms/{roomId}") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>> deleteRoom(@AuthenticationPrincipal org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser, @PathVariable String roomId) 대화방 삭제 DELETE /auth-user/api/aichat/rooms/{roomId} -
saveRagDocs
@PostMapping("/rooms/{roomId}/rag-docs") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>> saveRagDocs(@PathVariable String roomId, @RequestBody RagDocsRequest request) roomId별 RAG/Wiki 문서 저장 (질문할 때마다 덮어씀) POST /auth-user/api/aichat/rooms/{roomId}/rag-docs -
findRagDocs
@GetMapping("/rooms/{roomId}/rag-docs") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<RagDocsRequest>> findRagDocs(@PathVariable String roomId) roomId별 RAG/Wiki 문서 조회 GET /auth-user/api/aichat/rooms/{roomId}/rag-docs -
getCardContext
@GetMapping("/cards/context") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<List<CardContextItem>>> getCardContext(@AuthenticationPrincipal org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser) 카드 영역 조회 (입력창 하단, 고정 추천 카드) GET /auth-user/api/aichat/cards/context -
saveLastSelection
@PostMapping("/last-selection") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>> saveLastSelection(@AuthenticationPrincipal org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser, @RequestBody LastSelectionRequest request) 마지막으로 선택한 pdService, pdServiceVersion 저장 POST /auth-user/api/aichat/last-selection -
findLastSelection
@GetMapping("/last-selection") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<LastSelectionRequest>> findLastSelection(@AuthenticationPrincipal org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser) 마지막으로 선택한 pdService, pdServiceVersion 조회 GET /auth-user/api/aichat/last-selection -
deleteLastSelection
@DeleteMapping("/last-selection") public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>> deleteLastSelection(@AuthenticationPrincipal org.springframework.security.oauth2.core.oidc.user.OidcUser oidcUser) 마지막으로 선택한 pdService, pdServiceVersion 삭제 DELETE /auth-user/api/aichat/last-selection
-