728x90

Web 3

Spring Request Body Binding 파헤쳐보기

스프링에서는 리퀘스트로 올리는 문자열을 Enum 으로 바꾸는 등 자동으로 값을 변환해주는 기능을 가지고 있다. 예를 들면 @RequestBody 라던가 @RequestParam 처럼 문자열 값을 가져와서 우리가 지정한 타입으로 바꿔준다. 코드로 보면 설명이 더욱 명확하다. data class User( val name: String, val password: String, val role: Role ) @PostMapping("/test") fun test(@RequestBody user: User): String { log.info(user.toString()); return "Hello" } 간단하게 테스트를 하기위해 작성된 코드임을 알수 있다. 일단 Server 에 아래 JSON 을 한번 전달해보자..

Web 2022.01.02

Postman 헤더로 세션 로그인하기

오늘 회사에서 Admin 페이지를 만들던 도중에 무조건 Spring Security 를 통한 로그인을 거쳐야만 API 호출이 가능한 경우가 있었다. 그래서 최초에 보안 인증 페이지에서 로그인을 하고 거기서 취득한 인증 쿠키를 이용해 API call 을 해야만 했는데.. 이게 Postman 에서 어떻게 계속 쿠키를 이어받아서 쓸 수 있을까를 고민하다가 포스트맨의 Script 를 통해서 해결할 수 있다는 것을 알았다. 사실 Token 을 쓰는 대부분의 경우도 Token 을 어떻게 쉽게 모든 API 에서 계속해서 사용할까를 고민할텐데 그에 대한 해답이 될수도 있다. 백문이 불여일타... 코드로 한번 보도록 하자. @RestController public class AuthController { @PostMap..

Web 2021.12.28

OpenAPI 3.0

최근 회사 API DOC 라이브러리를 Swagger 에서 호환할 수 있게 하면서 Swagger 가 OpenAPI 를 준수하고 있다는 것을 처음알았다. 그래서 회사 공고에도 많은 OpenAPI 는 도대체 무엇일까? 라는 생각이 들게 되었다. OpenAPI 3.0? 공식문서에 정의되어 있는 내용은 아래와 같다. "OpenAPI Specification(OAS) 는 RESTful API 에 대한 표준 언어에 구애받지 않는 인터페이스를 정의하여 소스코드 또는, 설명서 또는 네트워크 트래픽 검사 없이도 서비스의 기능을 이해하고 찾을 수 있게 도와줍니다." OpenAPI 는 위의 설명과 같이 RESTful API 에 대한 인터페이스를 생성해야 하므로 지켜야할 몇가지 규칙이 있다. 첫번째로는 OpenAPI 문서는 A..

Web 2021.11.12
728x90