ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [강의 기록] AWS API Gateway Input/Output Mapping
    공부 기록/API 2023. 2. 19. 16:01
    728x90

    * Reference Video: https://www.youtube.com/watch?v=HksMXyfFOyM

    URL 구성

    Resource + stage

    (07:31)

    (07:44)

    stage 선택 시 development | demo | producti o n

    이 강의에서는 스테이지의 이름을 students라고 지정.

    (10:51)

    stage 설정후 보여지는 화면

    (13:07)

    리소스를 설정하지 않고 스테이지를 설정할 경우

    파이프라인을 자세히 보자면,

    위의 두 박스는 요청

    첫번째 Method Request에서는 유효성 검증 e.g. 인가(authorization)을 위한 JSON 웹 토큰을 패스했는지, API key, model schema를 통과했는지

    (13:37)

    두번째 Integration Request에서는 요청한 데이터를 가공 (reshape the data to make it more easily accessbile for lamada function)

    Endpoint가 Lamda. 여기에 마침내 도달하면 Lamda 함수가 응답을 반환 -> Integration Response에서 reshape the data

    (15:54)

    content-type 설정 후, 응답 지정

    (16:30)

    참고: velocity.apache.org/enjine/devel/vtl-reference.html

    (16:57)

    혹은 문서 참고해 템플릿 예시 사용

    (18:27)

    (18:44)

    ㄴtemplateing languagero

    root element -> set a variable

    (20:01)

    schema, property, attribute 설정방법 참고하기

    혹은 공통 오브젝트를 정의, 참고하기 위하여 Models 메뉴에서 설정

    (22:02)

    가이드에서 가져온 템플릿 수정하여 다음과 같이 응답 정의

    (23:37)

    -> 요것이 스키마

    (24:46)

    리소스에서 응답 모델 설정시, 입력한 스키마 불러올 수 있음

    테스트싱 시, 람다 펑션이 전달한 데이터 말고, Intergration Response에서 정의한 더미 데이터가 내려옴

    (26:03)

    ㄴ이 테스트 기능은 필요할까? 응답, 요청을 보냈을 때 지정한 값이 제대로 내려오는지 확인하기 위한 용도

    (28:36)

    $inputRoot -> 응답의 root element을 의미

    (28:57)

    람다에서 받은 응답을 변수로 받아 처리

    리마인드! 스트링 처리해야함

    (30:27)

    즉, 이 단계에서는 엔드포인트가 주는 응답을 변환, 가공하는 단계이다.

    (33:03)

    설정 저장하여 스테이지 배포했더니 다음과 같은 응답 나옴. 실제로 엔드포인트에서 전달한값 대신 가공한 데이터가 나옴. (json 형태, emailAddress라고 지정한, age는 내려주지 않는 등 필요한 정보만 받음, data 를 reshaping)

    함수를 여러 개 지정해 커스터마다 다른 함수를 쓸수도 있음.(필요한 정보만 내려주는)

    M ethod Response에서는 응답 헤더 확인? corps 여부 확인(원격 도메인에서 api 접근 가능한지)

    (14:34)

    응답 filtering 하려면

    (14:13)

     

    댓글

Designed by Tistory.