def put(self): """ Create a customer --- tags: - customers produces: - application/json parameters: - in: body name: body required: true description: Json request for creating a customer schema: type: object properties: firstName: type: string default: Test surname: type: string default: McTest emailAddress: type: string default: [email protected] responses: 201: description: Customer Created 400: description: Invalid Request 500: description: Server Error """ # Validate request, return 400 if invalid try: customer = Customer(request.get_json()) customer.validate() except DataError as e: return {'Error': str(e)}, 400 try: customer_service = CustomerService() customer_service.create_or_get_customer(customer) return {'Status': 'SUCCESS'}, 201 except CustomerServiceError: return {'Status': 'ERROR'}, 500