def get(self, request, address_id):
        self.logger_info.info('[UserAddressDetail][get][' + str(address_id) + ']')
        auth_info = header_parser.parse_auth_info(request)

        try:
            address_req_validation(auth_info.open_id, auth_info.access_token)
            check_auth_info_v2(auth_info.open_id, auth_info.access_token)

            # Read specific address
            address_manager = AddressManagerV2(self.logger_info, self.logger_error)
            user_address = address_manager.get_address(auth_info.open_id, int(address_id))
        except DataValidationError as instance:
            message, err_code = instance.args
            result = ResultResponse(code.ARIES_400_BAD_REQUEST, message, err_code)
        except AuthInfoError:
            result = ResultResponse(code.ARIES_401_UNAUTHORIZED, 'Authentication error')
        except BusinessLogicError as instance:
            message, err_code, data_set = instance.args
            result = ResultResponse(code.ARIES_500_INTERNAL_SERVER_ERROR, message, err_code)
            result.set_map(data_set)
        except Exception as e:
            result = ResultResponse(code.ARIES_500_INTERNAL_SERVER_ERROR, str(e))
        else:
            result = ResultResponse(code.ARIES_200_SUCCESS, 'success')
            result.set('user_address', user_address)

        return Response(result.get_response(), result.get_code())
    def post(self, request):
        request_data = request.data
        self.logger_info.info('[UserAddressList][post][' + str(request_data) + ']')

        auth_info = header_parser.parse_auth_info(request)

        try:
            address_req_validation(auth_info.open_id, auth_info.access_token)
            check_auth_info_v2(auth_info.open_id, auth_info.access_token)

            # Request data check
            address_create_data_check(request_data)

            # Create user address
            address_manager = AddressManagerV2(self.logger_info, self.logger_error)
            created_address = address_manager.create_address(auth_info.open_id, request_data)

            # Read latest address list
            address_list = address_manager.get_address_list(auth_info.open_id)
        except DataValidationError as instance:
            message, err_code = instance.args
            result = ResultResponse(code.ARIES_400_BAD_REQUEST, message, err_code)
        except AuthInfoError:
            result = ResultResponse(code.ARIES_401_UNAUTHORIZED, 'Authentication error')
        except BusinessLogicError as instance:
            message, err_code, data_set = instance.args
            result = ResultResponse(code.ARIES_500_INTERNAL_SERVER_ERROR, message, err_code)
            result.set_map(data_set)
        except Exception as e:
            result = ResultResponse(code.ARIES_500_INTERNAL_SERVER_ERROR, str(e))
        else:
            result = ResultResponse(code.ARIES_200_SUCCESS, 'success')
            result.set('user_addresses', address_list)
            result.set('user_address_id', created_address['id'])

        return Response(result.get_response(), result.get_code())