يمكن أن يدرك التعليق التوضيحي Valid التحقق من البيانات. يمكنك تحديد الكيانات وإضافة قواعد التحقق إلى خصائص الكيان. عندما يتلقى واجهة برمجة التطبيقات للبيانات ، سيقوم الكيان الخاص بك بتمكين وظيفة التحقق. الرمز المحدد هو كما يلي ، وهو التطبيق الأساسي:
كيان:
الطبقة العامة DepartmentDto {apImodElProperty ("id") معرف السلسلة الخاصة ؛ apimodelproperty ("id id") سلسلة خاصة بيرفيس ؛ apImodElProperty ("رقم") notblank (message = "رقم القسم لا يمكن أن يكون فارغًا.) رمز السلسلة الخاص ؛ apImodElProperty ("رقم") notblank (message = "اسم القسم لا يمكن أن يكون فارغًا.") اسم السلسلة الخاصة ؛ apimodelproperty ("الموظف> الموظفين = جديد arraylist <> () ؛}واجهة راحة:
postMapping () الاستجابة العامة <ClientAccount> initialAccount (apiParam ("رقم العميل") رمز السلسلة pathvariable ، apiparam ("فترة التسجيل") pathvariable yearmonth accountperiod ، @clientActiTeCountSountSeraCountSitiTiActIrable request.getOperator () ، request.getBody ()) ؛ {} في الرمز أعلاه ، أضفنا شيكًا لطلب هيئة الطلب Request<DepartmentDto> . أثناء الاختبار ، إذا كان DepartmentNetdto.name الخاص بك فارغًا ، عندما يظهر استثناء من 400 ، فإن رسالة استثناء Lishi هي "اسم القسم لا يمكن أن يكون فارغًا" ، وهو أمر لا يمثل مشكلة بالنسبة لنا ويفي أيضًا بمتطلباتنا. دعونا نرى سيناريو آخر أدناه.
الكيان الذي يجب التحقق منه هو خاصية أخرى
نحتاج أيضًا إلى أن نرى أن كائنًا كبيرًا ، مثل الكائنات الصغيرة الأخرى المغطاة ، يتكون ، على سبيل المثال ، الموظفين تحت القسم. إذا كنت بحاجة إلى التحقق من فعالية الموظفين ، كيف يجب أن تحقق ذلك؟ إذا لم نقم بتعديل التعليمات البرمجية المصدرية وكانت نتيجة التنفيذ سلبية ، فلن تتحقق من كائن الموظف ، ولكن سيستهدف فقط خصائص كائن الطبقة الأولى.
يمكننا التحقق من هذه السمة عن طريق إضافة Valid إلى Valid
الطبقة العامة DepartmentDto {apImodElProperty ("id") معرف السلسلة الخاصة ؛ apimodelproperty ("id id") سلسلة خاصة بيرفيس ؛ apImodElProperty ("رقم") notblank (message = "رقم القسم لا يمكن أن يكون فارغًا.) رمز السلسلة الخاص ؛ apImodElProperty ("رقم") notblank (message = "اسم القسم لا يمكن أن يكون فارغًا.") اسم السلسلة الخاصة ؛ valid apiModelProperty ("الموظف> الموظفين = جديد ArrayList <> () ؛}دعنا نلقي نظرة على نتائج التحقق أدناه. يمكن إخراج أخطاءنا 400 عادةً تحت اختبار الوحدة!
test public void initialAccount_employee_name_empty () {list <evelope> الموظفين = جديد ArrayList <> () ؛ الموظفين. add (ameptyee.builder () .Name ("") .email ("[email protected]") .idnumber ("110111198203182012") .build ()) ؛ قائمة <SepartmentDto> الإدارات = جديد ArrayList <> () ؛ الإدارات. add (DepartmentDto.Builder () .NAME ("Department"). ClientAccountDto ClientAccountDto = clientAccountDto.builder () .Name ("Customer") .Departments (الإدارات) .build () ؛ طلب <ClientAccountDto> request = buildRequest (ClientAccountDTO) ؛ api.post () .uri ("/v1/12345/2018-03") .body (bodyinserters.fromObject (request)) .exchange () .expectStatus (). isequalto (400) .expectody () .jsonpath ("$. }النتائج كما يلي ، يمر الاختبار
إذا تم اختباره ، فهو isok ، لأن اسم المستخدم فارغ ، ستظهر رسالة خطأ
api.post () .uri ("/v1/12345/2018-03") .body (bodyinserters.fromObject (request)) .exchange () .expectStatus (). isok () ؛يمكنك التحقق من معلومات موجه النتائج
لخص
ما سبق هو التحقق من النوع المتداخل بواسطة شرح SPRINGBOOT valid الذي قدمه لك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!