본문 바로가기

Back-end/SpringBoot4

Kotlin으로 OpenApi(Swagger)에서 multipart와 dto(vo) 같이 받는 법 https://aahc912.tistory.com/66 Swagger(스웨거) multipart/form-data에서 try out이 불가능한 문제 "Content-Type 'application/octet-stream' is not supp개요 평소 API 문서 자동화 프레임워크로 `Swagger`를 많이 써왔는데 `multipart/form-data`를 Body로 받는 API의 경우 `Swagger` 문서에서 try out(실행)할 시에 예외(HttpMediaTypeNotSupportedException)가 발생하는 문제aahc912.tistory.com일단 아이디어 출처는 이거다.@requestPart는 속성이 지정이 되지 않아서 같이 보내면 application/octet-stream이 나온다. .. 2025. 2. 10.
[SpringBoot] security 간단 이론 security filter chain은 suvlet 생성 전에 filter를 거친다.filter - suvlet - controller💡 Spring Security의 필터 체인에서 각 필터의 기본 순서는 다음과 같다:-> filter 사이에 새로 정의한 필터를 넣을 수도 있고, 기존 필터를 재정의 할 수 있음SecurityContextPersistenceFilter: 현재 요청에 대한 SecurityContext를 복원LogoutFilter: 로그아웃 요청을 처리(로그아웃은 필터를 그렇게 거치지 않아도 됨)CsrfFilter: CSRF 공격을 방지하기 위해 요청에 대해 CSRF 토큰을 검증UsernamePasswordAuthenticationFilter: 폼 기반 로그인을 처리DefaultLogin.. 2025. 1. 15.
[SpringBoot] webflux 독성 있게 보고 싶다면 ➡️ https://pretty-pilot-212.notion.site/webflux-11a708535dff807398d4fa6abb8ccf66 http 대신 sse를 사용하는 이유→ http는 request, response 후에는 연결이 끊긴다.→ sse는 요청 후에 응답을 해도 request만 끊기고, @TAILABLE로 인해 계속 데이터를 보낼 수 있다.flux를 사용하려 할 때,,,Tailable Cursor는 MongoDB에서 끝이 없는 커서로, 주로 로그 또는 채팅 시스템에서 실시간으로 데이터를 스트리밍하기 위해 사용됩니다.Capped Collection은 고정된 크기를 가진 컬렉션으로, 가장 오래된 문서를 제거하면서 새로운 문서를 추가하는 방식으로 작동합니다. Tai.. 2024. 12. 18.
[SpringBoot] WebSocket ver.Spring 가독성 있게 보고 싶다면 ➡️ https://pretty-pilot-212.notion.site/WebSocket-ver-Spring-116708535dff803d8f60ffa16a365c22 https://velog.io/@mw310/Stomp-WebSocket-개념-정리ver-Spring Stomp, WebSocket 개념 정리(ver. Spring)화상 채팅 프로젝트를 진행하면서 채팅 기능을 구현중에 웹 소켓 관련하여 정리가 필요하여 글을 쓰게 되었다. 먼저 웹소켓에 대해서 알아보자! 웹 소켓 소개 웹소켓 프로토콜은 웹 애플리케이velog.ioStomp란(Simple/Stream Text Oriented Message Protocol)websocket 위에서 동작하는 문자 기반 메세징 프로토콜로써 .. 2024. 12. 18.