مقدمة
في المدونة السابقة ، سجلنا الخدمة إلى يوريكا. يمكننا أن نرى من واجهة واجهة المستخدم الخاصة بـ Eureka التي تم تسجيلها على خادم Eureka. ومع ذلك ، إذا أردنا أن نرى أساليب الواجهة المريحة التي يتم توفيرها من خلال الخدمة الحالية ، فلن يكون لدينا طريقة للحصول عليها. الطريقة التقليدية هي فرز مستند واجهة الخدمة للتواصل بين المطورين. في هذه الحالة ، في كثير من الأحيان ، سوف يتسبب ذلك في تناقضات بين المستند والرمز ، مثل الكود الذي يتم تغييره ، ولكن لم يتم تغيير مستند الواجهة ، ويوفر لنا Swagger2 حلاً مثاليًا. دعونا نلقي نظرة على كيفية حل Swagger2 المشكلة.
1. تقديم حزمة الجرة التي يعتمد عليها Swagger2
<!-Swagger2-> <redency> <roupiD> io.springfox </rougeid> <StifactId> springfox-swagger2 </shintifactid> <الإصدار> 2.2.2 </version> </rependency> <sperency> <sropencid> io.springfox </groupid> </التبعية>
2. تهيئة تكوين Swagger2
configuration @enbleswagger2 // تمكين swagger2 الفئة العامة swagger2 {bean docket createrestapi () {// إنشاء معلومات أساسية API إرجاع docket new (documentationtype.swagger_2). .Apis (requestHandlersElectors.BasePackage ("com.chhliu.jpa"))) } apiinfo apiinfo () {// المعلومات الأساسية حول إنشاء واجهات برمجة التطبيقات ، والتي سيتم عرضها في واجهة المستخدم Swagger. إرجاع apiinfobuilder الجديد () .Title ("بناء واجهات برمجة التطبيقات المريحة في الحذاء الربيعي باستخدام swagger2") // api title.description ("واجهات برمجة تطبيقات RESTful التي توفرها RdCloud-JPA") // API Description.Contact ("chhliu@") // contact.version ("1.0") // version.build () ؛ }}ملاحظة: يجب إنشاء فئة التكوين هذه في دليل التطبيق في نفس المستوى. عندما يبدأ المشروع ، تتم تهيئة فئة التكوين.
3. تحسين معلومات وثيقة API
الواجهة العامة SonarControlleri {apiOperation (value = "الحصول على معلومات عن url المقابلة لسونار مجموعة المشروع" ، notes = "الحصول على معلومات url المقابلة لسونار مجموعة المشروع بناءً على المعرف") "Long" ، paramtype = "path")}) // استخدم هذا التعليق التوضيحي لوصف معلومات معلمة الطريقة. تجدر الإشارة هنا إلى أنه يجب تكوين معلمة paramtype كمسار ، وإلا سيتم الإبلاغ عن خطأ عند الوصول إلى طريقة الواجهة في uigetMapping ("/get/{id}") Sonarurl get ( @pathvariable id) ؛ apiOperation (value = "الحصول على جميع معلومات عنوان URL المقابلة لمجموعة المشروع Sonar") GetMapping ("/get/all") قائمة <Sonarurl> getall () ؛ } ملاحظة: يمثل paramtype نوع المعلمة ، والقيم الاختيارية هي "المسار" ، "الجسم" ، "الاستعلام" ، "الرأس" ، "النموذج"
4. تحسين معلومات نوع الإرجاع
entity (name = "sonar_url") public class sonarurl تنفذ مسلسل { / ** * * / private static final serialversionuid = 1l ؛ apImodElProperty (value = "المفتاح الأساسي" ، hidden = false ، notes = "المفتاح الأساسي ، المخفي" ، مطلوب = true ، datatype = "long") // استخدم هذا التعليق التوضيحي لوصف معلومات الخاصية. عندما يكون مخفيًا = صحيح ، لن يتم عرض هذه الخاصية في APIDGeneratedValue (الاستراتيجية = GenerationType.auto) معرف طويل خاص ؛ apImodElProperty (value = "عنوان ارتباط url") column (name = "url") url السلسلة الخاصة ؛ apImodElProperty (value = "project group") column (name = "team") سلسلة سلسلة خاصة ؛ apImodElProperty (value = "department") column (name = "department") قسم السلسلة الخاصة ؛ ... حذف getter ، طريقة setter ...}5. ابدأ التطبيق
1. أدخل المتصفح: http: // localhost: 7622/swagger-ui.html
2. النتائج على النحو التالي:
6. وصول وثيقة API واختباره
بالإضافة إلى توفير وظيفة عرض واجهة API ، يوفر Swagger أيضًا وظائف التصحيح والاختبار.
نتائج الاختبار كما يلي:
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.