알고리즘에 벽을 느꼈다.
많이 부족한 것을 느끼고 시뮬레이션과 그냥 머리 회전하는 걸 연습해야겠다..
많이 풀어보고 생각하자!!!!!!!
testcode중 일부이다.
willReturn에서 repo함수의 반환값이 Optional인 경우 Optional.ofNullable()로 감싸줘야 한다.
또한.get(0)으로 꺼내는 방식은 좋지 않다고 들었다.
스스로 짜보니 재미있고 신기하다. 맞는 방법인가 근데???????????
.antMatchers("/v3/api-docs/**", "/swagger-ui/**", "/swagger-resources/**").permitAll()
Spring Securiy 설정에서 swagger를 설정해주는 코드이다.
지난 프로젝트에서는 /**
로 다 열여줘서 몰랐었다.
/swagger-ui/**
만 열어주면 실행이 되지 않는다!!
또한
private SecurityContext securityContext(){
return SecurityContext.builder()
.securityReferences(defaultAuth())
.build();
}
private List<SecurityReference> defaultAuth(){
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
return Arrays.asList(new SecurityReference("Authorization", authorizationScopes));
}
private ApiKey apiKey(){
return new ApiKey("Authorization", "Bearer", "header");
}
@Bean
public Docket api() {
return new Docket(DocumentationType.OAS_30)
.securityContexts(Arrays.asList(securityContext()))
.securitySchemes(Arrays.asList(apiKey()))
.
.
.
}
추가를 해줘야 토큰을 통해 인증을 받을 수 있다!!
@NoargsConstructor(AccessLevel.PROTECTED)
를 이용하여 리팩토링을 하였다.
@Builde의 위치도 생각을 하게 되었다.
개발자는 호기심이 정말 중요한 것 같다. 왜? 를 항상 생각해보자!!!!!!
벽을 느낄 시간에 한 문제라도 더 보겠다~