문제import org.springframework.http.HttpMethod;public class CorsConstant { public static final String[] ALLOWED_ORIGINS = { "http://localhost:3000" }; public static final String[] ALLOWED_METHODS = { HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.PUT.name(), HttpMethod.DELETE.name(), HttpMethod.OPTIONS.name() ..
전체 글
안녕하세요. PS풀이, 개발일지 및 일기, 소소한 이야기를 적어가는 윤재 입니다.총 정리 팀 노션 페이지링크 API 명세서너무 길어서 위의 링크를 참고하면 좋을 것 같습니다. 테이블 명세서1. 사용자 테이블 (p_user)필드 이름 데이터 타입 설명 키usernameVARCHAR(100)사용자 ID, Primary KeyPKnicknameVARCHAR(100)사용자 닉네임 emailVARCHAR(255)사용자 이메일, Unique passwordVARCHAR(255)사용자 비밀번호 rolerole_type사용자 역할 (CUSTOMER, OWNER, MANAGER, MASTER) addressVARCHAR(255)배송 주소 is_publicBOOLEAN사용자 정보가 공개된 상태인지 여부, 기본값 TRUE created_atTIMESTAMP레코드 생성 시간 created_byVARCH..
문제과거 프로젝트에서 JWT을 이용한 인증 방식을 택해서, 액세스 토큰 및 리프레쉬 토큰을 커스텀 응답 헤더에 넣어서 보내주었다. 하지만 프론트에서 응답 헤더에서 받아올 수 없었다. 해결기본적으로, 응답 헤더는 CORS-safelisted response header 만 노출된다. (simple response header 라고도 한다) CORS-safelisted response header란, 클라이언트의 스크립트에 노출되어도 안전하다고 여겨지는 헤더들이다. 기본적으로 아래와 같은 헤더들이 있다. Cache-ControlContent-LanguageContent-LengthContent-TypeExpiresLast-ModifiedPragma 이 외의 헤더들은 Access-Control-Expose-H..
의존성 목록 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher'}의존성이 web, lombok 밖에 없다. 전역 설정 import org.springframework.context.annotat..
문제 스프링 부트에서 Record 클래스로 application.yml 파일 값 가져오려다가 에러가 났다. 상황// application.yml fruit: list: - name: banana color: yellow - name: apple color: red yml 파일에 fruit.list 속에 과일 리스트가 있는 형태를 스프링에서 가져다 쓰려고 했다. // Fruit.classpublic record Fruit( String name, String color) {} // FruitList.classimport org.springframework.boot.context.properties.ConfigurationProperties;impor..
문제이번 과제에서 처리된 서비스의 서버 포트를 응답 헤더에 담으라는 요구사항이 있었다. @Slf4j@RestController@RequiredArgsConstructor@RequestMapping("/products")public class ProductController { private final ProductService productService; @Value("${server.port}") private String port; /** * 상품 목록 조회 API */ @GetMapping public ResponseEntity> getProductList(GetProductsReq request, Pageable pageable) { Li..
문제spring: main: web-application-type: reactive # Spring 애플리케이션이 리액티브 웹 애플리케이션으로 설정됨 application: name: gateway-service # ...2024-08-10T14:06:47.934+09:00 ERROR 63786 --- [gateway-service] [ctor-http-nio-2] i.n.r.d.DnsServerAddressStreamProviders : Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DN..
문제localhost:63790> subscribe home1) "subscribe"2) "home"3) (integer) 11) "message"2) "home"3) "{\"messageId\":\"abcde\",\"sender\":\"1234\",\"message\":\"abcde\"}"1) "message"2) "home"3) "{\"messageId\":\"abcde\",\"sender\":\"1234\",\"message\":\"\xed\x95\x98\xec\x9d\xb4\"}"1) "message"2) "home"3) "{\"messageId\":\"abcde\",\"sender\":\"1234\",\"message\":\"\xea\xb0\x80\"}" 레디스로 pub/sub 테스트를 해보던 ..
문제유레카 서버 설정을 위해 따로 EurekaServerConfig라고 하는 클래스를 만들어 실행했지만, 중복되는 빈객체로 실행이 되지 않았다. 상황@EnableEurekaServer@SpringBootApplicationpublic class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); }}강의 예제에는 애플리케이션 클래스 위에 붙여주었지만, 나는 애플리케이션에 덕지덕지 @Enable- 어노테이션을 붙이는 걸 좋아하지는 않아서 따로 ~Config 클래스를 만들어주기로 했다. @SpringBootApplicationpubl..