API

2023-01-03
MSA 환경에서 일하는 Front-end 개발자들을 만나면 나는 종종 이런 말을 듣는다. 주문서 화면을 만들 때 4~5개를 호출해서 조합해야 했어요. - 개발자 A 기부 상세 화면을 만드는데 같은 기부 번호로 여러 API를 호출해서 조합하고 있어요 - 개발자 B 벡엑드 개발자분이 API를 너무 잘 개 만들어 놔서 하나의 화면을 만들때 여러 번 호출하는게 너무 불편합니다. 에러 처리하기도 그렇고요. 한 번의 호출로 만들어 달라고 요청했는데 거부 당했습니다. - 개발자 C 무엇이 문제인가?...
2019-06-12
해당 코드는 Github 를 확인해주세요. Spring Guide Test 전략 가이드 Exception 전략 가이드 Domain 객체 가이드 외부 API 가이드 Service 적절한 크기 가이드 이번 주제는 외부 API 호출 가이드를 진행하겠습니다. 본 포스팅에서는 RestTemplate 기반으로 설명하고 있지만 RestTemplate에 대한 사용법이 초점은 아닙니다. Request, Response에 대한 로킹, Interceptors를 통한 추가 작업, errorHandler을 통한 각 Vendor마다 예외 처리 전략을 살펴보겠습니다. Vendor 마다 다르게 Bean 등록 우선 RestTemplate를 외부 API 특성에 맞는 Bean을 생성합니다. 여기서 중요한 점은 각 API Vendor사 별로 각각 Bean으로 관리하는 것입니다. Vendor사 별로 다르게 Bean을 적용하는 이유...
2018-08-02
최근 외부 API를 통신하는 일들이 많이 있었고 최근 PagerDuty API 작업을 하면서 외부 API를 사용할 때 많은 시행착오와 고민을 나름 정리해 보았습니다. PagerDuty Request PagerDuty Response PagerDuty Document 에 나와 있는 Request, Response를 JSON으로 정리했습니다. Request 값은 필수 값 위주로 정리했습니다. Request, Response Class Request, Response에 대한 DTO 클래스 생성 위의 JSON을 클래스로 바인딩시킬 DTO 클래스를 생성해서 API에 대한 Request, Response를 관리하는 것이 바람직합니다. 간혹 Map, JSON(gsoon, jackson) 등을 이용해서 유연하게 두는 예도 있지만...
2016-08-09
기본적으로 Rails project를 개발하게 되면 ActiveRecord 모델, Migration을 통한 DB 테이블 생성등을 떠올리게 되는데요, 조금 복잡하고 큰 프로젝트를 경험하다 보니 하나의 Master DB를 여러 프로젝트에서 공유하는 것을 종종 볼 수가 있습니다. 서로 다른 project에서 각자 필요한 table들을 하나의 Master DB에 생성하게 되는데요, 이런 경우에 migration을 통한 DB관리가 힘들어 지게 되어 이번 글을 통해 migration이 없는 프로젝트의 test 환경 구축에 대해 설명을 드리도록 하겠습니다....
더보기