Skip to content

Commit 38f11ad

Browse files
committed
support header
1 parent a3c748b commit 38f11ad

File tree

4 files changed

+16
-3
lines changed

4 files changed

+16
-3
lines changed

app/app.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
from resources import HelloWorld, Car
66
from models import db
77

8+
from resources import CarByName
9+
810

911
def create_app():
1012
app = Flask(__name__)
@@ -26,14 +28,16 @@ def create_app():
2628
api = Api(app)
2729
api.add_resource(HelloWorld, '/')
2830
api.add_resource(Car, '/car')
31+
api.add_resource(CarByName, '/car_by_name')
2932

3033
# Spec (/swagger & /swagger-ui)
3134
docs = FlaskApiSpec(app)
3235
docs.register(Car)
36+
docs.register(CarByName)
3337

3438
return app
3539

3640

3741
if __name__ == '__main__':
3842
app = create_app()
39-
app.run(port=7654, host='0.0.0.0')
43+
app.run(port=7654, host='0.0.0.0', debug=True)

app/resources.py

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from flask_restful import Resource
2-
from flask_apispec import MethodResource, marshal_with, use_kwargs
1+
from flask_restful import Resource, request
2+
from flask_apispec import MethodResource, marshal_with, use_kwargs, doc
33
import marshmallow as ma
44

55
from models import db, CarsModel
@@ -39,3 +39,10 @@ def post(self, **kwargs):
3939
db.session.commit()
4040
return {"message": f"car {new_car.name} has been created successfully."}
4141

42+
43+
class CarByName(MethodResource, Resource):
44+
@doc(params={'pet_id': {'description': 'pet id', 'in': 'header'}})
45+
@use_kwargs(CarSchema, location='query') # input CarSchema
46+
def get(self, **kwargs):
47+
return request.headers["pet_id"]
48+

doc_decorator_example.png

16.3 KB
Loading

docker-compose.yml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ services:
44
app:
55
build: './app'
66
restart: always
7+
volumes:
8+
- ./app:/app
79
ports:
810
- 7654:7654
911

0 commit comments

Comments
 (0)