如何为通过URL作为参数传递的参数添加namespace.expect

时间:2018-12-30 06:37:33

标签: swagger-ui flask-restful flask-restplus

我在Resource类下面写过:

@clinic_api_ns.route("/patient/profile")
class PatientProfile(Resource):
    def get(self):
        patient = request.args.get(patient)
        relative = request.args.get(relative)
        relationType = request.args.get(relationType)
        contactNumber = request.args.get(contactNumber)
        townCity = request.args.get(townCity)
        return controller.get_patient_profile(patient, relative, relationType, contactNumber, townCity)

为了获得患者资料,我可以使用通过URL传递的参数,例如http://ip.address/api/clinic/patient/profile?patient=<patientName>&relative=<relativeName>&relationType=<relation>

但是即使我尝试添加@_api_ns.expect(patient_profile, validate=True)

,这也会在庞大的文档中引发错误

patient_profile

class PatientProfile(object):
    profile = clinic_api_ns.model("profile", {
        "patient": fields.String(required=True, description="name of the patient."),
        "relative": fields.String(required=True, description="name of parent or husband."),
        "relation": fields.String(required=True, description="type of relation with patient."),
        "contactnumber": fields.String(required=True, description="contact number of the patient."),
        "townCity": fields.String(required=True, description="town or city the patient belongs to."),        
        })

1 个答案:

答案 0 :(得分:1)

您可以使用解析器解决此问题。

parser = api.parser()
parser.add_argument('param', type=int, help='Some param', location='path') # "location='path'" means look only in the querystring


@api.expect(parser)