コード例 #1
0
def create_suppliers():
    """
    Creates a Supplier
    This endpoint will create a Supplier based the data in the body that is posted
    """
    app.logger.info("Request to create a Supplier")
    check_content_type("application/json")
    supplier = Supplier()
    supplier.deserialize(request.get_json())
    supplier.create()
    message = supplier.serialize()
    location_url = url_for("get_suppliers", supplier_id=supplier.id, _external=True)
    return make_response(
        jsonify(message), status.HTTP_201_CREATED, {"Location": location_url}
    )
コード例 #2
0
 def post(self):
     """
     Creates a Supplier
     This endpoint will create a Supplier based the data in the body that is posted
     """
     app.logger.info('Request to Create a Supplier')
     supplier = Supplier()
     app.logger.debug('Payload = %s', api.payload)
     supplier.deserialize(api.payload)
     supplier.create()
     app.logger.info('Supplier with new id [%s] saved!', supplier.id)
     location_url = api.url_for(SupplierResource,
                                supplier_id=supplier.id,
                                _external=True)
     return supplier.serialize(), status.HTTP_201_CREATED, {
         'Location': location_url
     }
コード例 #3
0
ファイル: test_models.py プロジェクト: Mirage30/suppliers
 def test_serialize_a_supplier(self):
     """ Serialize a Supplier """
     supplier = Supplier("supplier1", 2, True, [1, 2, 3], 8.5)
     supplier.id = 1
     data = supplier.serialize()
     self.assertNotEqual(data, None)
     self.assertIn('_id', data)
     self.assertEqual(data['_id'], 1)
     self.assertIn('name', data)
     self.assertEqual(data['name'], "supplier1")
     self.assertIn('like_count', data)
     self.assertEqual(data['like_count'], 2)
     self.assertIn('is_active', data)
     self.assertEqual(data['is_active'], True)
     self.assertIn('products', data)
     self.assertEqual(data['products'], [1, 2, 3])
     self.assertIn('rating', data)
     self.assertEqual(data['rating'], 8.5)
コード例 #4
0
ファイル: service.py プロジェクト: Mirage30/suppliers
    def post(self):
        """
        Creates a Supplier
        This endpoint will create a Supplier based the data in the body that is posted
        """
        app.logger.info('Request to Create a Supplier...')

        # Check for form submission data
        if request.headers.get(
                'Content-Type') == 'application/x-www-form-urlencoded':
            app.logger.info('Getting data from form submit')
            data = {
                "name": request.form['name'],
                "like_count": request.form['like_count'],
                "is_active": request.form['is_active'],
                "products": request.form['products'],
                "rating": request.form['rating']
            }
        else:
            check_content_type('application/json')
            app.logger.info('Getting json data from API call')
            data = request.get_json()
            # Data type transfer
            data = data_type_transfer(data)

        app.logger.info(data)
        supplier = Supplier()
        supplier.deserialize(data)
        supplier.save()
        app.logger.info('Supplier with new id [%s] saved!', supplier.id)
        location_url = api.url_for(SupplierResource,
                                   supplier_id=supplier.id,
                                   _external=True)
        return supplier.serialize(), status.HTTP_201_CREATED, {
            'Location': location_url
        }