العمارة المواد الفعلية (ج) العمارة -Spring التمهيد لبناء حالة مريحة API

مقدمة

التمهيد الربيع على التكامل API المشتركة التبختر سماح التصور والفصل بين الجبهة والهندسة المعمارية النهاية الخلفية من قبل الجميع على حد سواء، والقسم على القسم التالي من التعليمات البرمجية للقيام استعلام مفصل لاستكمال وتحسين رمز وبناء العمارة API مريحة القضية.

ملاحظة: هذا البند من القانون هو مقطع التعليمات البرمجية على أساس محتويات إضافية، إذا كنت في حاجة إلى شفرة المصدر أن نرى الجزء السابق ونحن نركز على تكنولوجيا المعلومات أو تحالف حقيقي، والرد MyBatis (اثنين) وعنوان البريد الإلكتروني الخاص بك، ونحن نرسل لك .

لي نقطة! نقل إلى مهرجان - الهندسة المعمارية المواد الفعلية (اثنين) -Spring التمهيد التكامل التبختر، والسماح API التصور الخاص

نحن ننظر إلى الرسم البياني هيكل المشروع المنجز

بنية المشروع

إذا كنت قد قرأت هذه المادة على قسم من الطلاب والنتيجة وتجدر الإشارة إلى الرمز كيف لا؟ هذا بسبب من أجل توفير مساحة استبدلنا مع الطبقة ResponseEntity التي تقدمها الربيع

النتائج التشغيلية النهائية

النتائج التشغيلية النهائية

خطوة بخطوة بداية لكتابة التعليمات البرمجية التالية

زيادة التمهيد الربيع الاعتماد من مخضرم

وأضاف Swagger2 يعتمد على بنية القاعدة الأصلية للبوم

< ! - swagger2-- >

< التبعية >

< groupId > io.springfox < / GroupId >

< artifactId > springfox-swagger2 < / ArtifactId >

< نص > 2.7.0 < / النسخة >

< / التبعية >

< التبعية >

< groupId > io.springfox < / GroupId >

< artifactId > springfox-غرور-واجهة المستخدم < / ArtifactId >

< نص > 2.7.0 < / النسخة >

< / التبعية >

زيادة فئة النموذج مع استعلام

استخدام داخل اختيال الشرح

استيراد io.swagger.annotations.ApiModelProperty.

استيراد java.io.Serializable.

استيراد java.util.List.

الطبقة العامة HelpCategoryForm تنفذ تسلسل {

// الاستعلامApiModelProperty (القيمة = "تصنيف عدد مجموعة")

قائمة خاصة < عدد صحيح >  idList.

ApiModelProperty (القيمة = "الاستعلام ضبابي اسم الفئة")

سلسلة nameLike الخاص؛

ApiModelProperty (القيمة = "عدد الأم")

خاصة صحيح parentId؛ // التبويبApiModelProperty (القيمة = "الصفحات القليلة الأولى"، مثلا = "1")

خاص صحيح pageNum.

ApiModelProperty (القيمة = "يظهر عدد الصفوف"، مثلا = "10")

خاص صحيح حجم الصفحة، // ترتيبApiModelProperty (القيمة = "النوع"، allowableValues = "help_category_id، اسم"

الملاحظات = "(مساحة إضافية وراء ASC تصاعدي، تنازلي DESC)، على سبيل المثال: اسم تصاعدي أو تنازلي اسم")

سلسلة orderBy الخاص؛

// حذف طريقة الحصول على مجموعةOverride

جمهور سلسلة toString () {

العودة "HelpCategoryForm {" + "idList =" + idList + "، nameLike =" + nameLike + '\' '+ "، parentId =" + parentId + "، orderBy =" + orderBy +' \ '' + " ، pageNum = "+ pageNum +"، حجم الصفحة = "+ حجم الصفحة + '}'؛

}

}

اثنين من استفسارات إضافية

< تحديد هوية = "selectList" resultMap = "BaseResultMap" parameterType = "com.example.model.HelpCategoryForm" >

حدد help_category_id والاسم وparent_category_id، رابط من help_category < حيث >

< إذا اختبار = "idList! = فارغة" >

وhelp_category_id في

< جمع foreach = "idList" = المفتوحة "(" فاصل = "،" وثيقة = ")" البند = "المعرف" >

# {رقم}

< / Foreach >

< / إذا >

< إذا اختبار = "nameLike! = فارغة" >

واسم مثل CONCAT (# {nameLike}، '') < / إذا >

< إذا اختبار = "parentId! = فارغة" >

وparent_category_id = # {parentId} < / إذا >

< / أين >

< / تحديد >

< تحديد هوية = "selectById" resultMap = "BaseResultMap" parameterType = "كثافة" >

حدد help_category_id والاسم وparent_category_id، رابط من help_category WHERE help_category_id = # {معرف} < / تحديد >

تغييرات مخطط

استيراد com.example.model.HelpCategory.

استيراد com.example.model.HelpCategoryForm.

استيراد org.springframework.stereotype.Repository.

استيراد java.util.List،Repository

الواجهة العمومية HelpCategoryMapper {

قائمة < HelpCategory >  selectList (شكل HelpCategoryForm)؛

HelpCategory selectById (عدد صحيح معرف)؛

}

كتابة التعليمات البرمجية مستوى الخدمة

هنا يستخدم جيثب الأدوات pagehelper، وسوف يذهب إلى صفك ليس لديه pageNum، حجم الصفحة، والملكية orderBy، سميت بذلك على لا تملك شخصية جدا

استيراد com.example.model.HelpCategory.

استيراد com.example.mapper.HelpCategoryMapper.

استيراد com.example.model.HelpCategoryForm.

استيراد com.example.service.HelpCategoryService.

استيراد com.github.pagehelper.PageHelper.

استيراد org.springframework.beans.factory.annotation.Autowired.

استيراد org.springframework.stereotype.Service.

استيراد java.util.List.

الطبقةServicepublic HelpCategoryServiceImpl الأدوات HelpCategoryService {

Autowired

خاصة HelpCategoryMapper helpCategoryMapper.

Override

قائمة الجمهور < HelpCategory >  selectList (شكل HelpCategoryForm) {

PageHelper.startPage (النموذج).

عودة helpCategoryMapper.selectList (النموذج).

}

Override

الجمهور HelpCategory selectById (عدد صحيح معرف) {

عودة helpCategoryMapper.selectById (معرف)؛

}

}

واجهة API

استيراد com.example.model.HelpCategory.

استيراد com.example.model.HelpCategoryForm.

استيراد com.example.service.HelpCategoryService.

استيراد io.swagger.annotations.Api.

استيراد io.swagger.annotations.ApiOperation.

استيراد io.swagger.annotations.ApiResponse.

io.swagger.annotations.ApiResponses الاستيراد؛

استيراد org.springframework.beans.factory.annotation.Autowired.

استيراد org.springframework.http.HttpStatus.

استيراد org.springframework.http.ResponseEntity.

org.springframework.web.bind.annotation استيراد *؛

استيراد java.util.List،Api (القيمة = "الفئة مساعدة"، وصف = "category أسئلة") @ RestController @ RequestMapping ( "مساعدة / فئة")

الطبقة العامة HelpCategoryController {

Autowired

خاصة HelpCategoryService helpCategoryService.

// ملاحظة: لا يتم اعتماد طلب GET RequestBody تعليق

ApiOperation ( "قائمة سؤال")

RequestMapping (القيمة = "/"، طريقة = RequestMethod.POST، وتنتج = "التطبيق / سلمان، محارف = UTF-8")

الجمهور ResponseEntity < قائمة < HelpCategory > >  قائمة (شكل HelpCategoryFormRequestBody) {

قائمة < HelpCategory >  قائمة = helpCategoryService.selectList (النموذج).

عودة ResponseEntity.ok (قائمة)؛

}

ApiOperation ( "تفاصيل طلب البحث")

ApiResponses ({

ApiResponse (رمز = 404، رسالة = "تصنيف غير موجود"، والاستجابة = Void.class)

})

RequestMapping (القيمة = "/ {معرف}"، طريقة = RequestMethod.GET، وتنتج = "التطبيق / سلمان، محارف = UTF-8")

الجمهور ResponseEntity < HelpCategory >  التفاصيل (PathVariable ( "ID") معرف عدد صحيح) {

فئة HelpCategory = helpCategoryService.selectById (معرف)؛ // عودة المشفرة غير موجود إذا كان تصنيف 404

إذا (الفئة == فارغة)

عودة ResponseEntity.status (HttpStatus.NOT_FOUND). البناء ()؛

عودة ResponseEntity.ok (فئة)؛

}

}

لا يتم اعتماد طلب GET تعليق RequestBody: مذكرة

يتم تعديل مدخل للبرنامج، بنسبة مدخل المعهد ليسهل الوصول إليها

استيراد io.swagger.annotations.ApiOperation.

استيراد org.springframework.boot.SpringApplication.

استيراد org.springframework.boot.autoconfigure.SpringBootApplication.

استيراد org.springframework.web.bind.annotation.RequestMapping.

استيراد org.springframework.web.bind.annotation.RequestMethod.

استيراد org.springframework.web.bind.annotation.RestController.

استيراد javax.servlet.http.HttpServletResponse.

استيراد java.io.IOException.

SpringBootApplication

RestController

فئة العمومي تطبيق {

ApiOperation ( "مرحبا العالم")

RequestMapping (القيمة = "/"، طريقة = RequestMethod.GET)

مؤشر سلسلة العامة () {

العودة "التمهيد الربيع مرحبا".

}ApiOperation ( "واجهة API")

RequestMapping (القيمة = "/ المعهد"، طريقة = RequestMethod.GET)

المعهد باطلة العامة (HttpServletResponse الاستجابة) يلقي IOException {

response.sendRedirect ( "اختيال-ui.html")؛

}

ساكنة العام باطلة الرئيسية (سلسلة وسائط) {

SpringApplication.run (Application.class، وسائط)؛

}

}

هنا جميع الطبقات كتب أكثر، وقت جيدة ليشهدوا معجزة

فتح شريط عنوان المتصفح دعونا إلى الوصول

HTTP: // المضيف المحلي: 8081 / عرض / المعهد

قائمة اختبار الاستعلام

الاستعلام قائمة

انقر جربه!

{ "IdList": "NameLike": "P"، "orderBy": "تنازلي help_category_id"، "pageNum": 1، "حجم الصفحة": 10، "parentId": 33}

عرض النتائج التالية

نتائج الاستعلام

تفاصيل الاختبار التحقيق

تفاصيل الاستعلام

انقر جربه!

نتائج الاستعلام

نتائج الاستعلام

لا يوجد تصنيف اختبار

إدخال رقم الفئة غير موجودة: 1111111 اضغط إرجاع الاستعلام يظهر 404 النجاح

404

النتائج التشغيل الخاص بك أليس كذلك؟

محتوى أكثر إثارة يرجى الانتباه إلى "IT تحالف مكافحة" الآن!

121 نهاية دفعة من مبيعات العام عرض سجل أكثر، في مارس من العام المقبل "إعادة فائدة" غرب مدينة

فاز [خاص] أمفورا الملايين من استثمار رأس المال، ومفتوحة "التكامل الحسي" الأحذية الرياضية مستوى الإلكترونية تبدأ من سوق جديدة

جافا ويب العمارة المواد الفعلية: الدردشة قبل وبعد نهاية الفصل العمارة

كريسبر أحدث النتائج: ليس فقط لتحرير الجين، يمكن الكشف عن فيروس الورم الحليمي البشري، زيكا الفيروسات، الخ

اطلاق صاروخ ثلاثة أقمار "لوهان السلطة" الفضاء تألق

نود.جي إس المواد الفعلية - الصغرى سلسلة إلكتروني الدفع (أ)

الدعاية الرسمية! الدوائر التلفزيونية المغلقة "الكنز الوطني"، وأعلن 27 الكنوز الوطنية والآثار Chuanbo 3 لاول مرة

العمارة المواد الفعلية (اثنين) -Spring التمهيد التكامل التبختر، والسماح API التصور الخاص

لفهم وحدة Nodejs سلسلة -Events

yongling الذهبي (7) | yongling أربع وعشرين المهارة: رائعة جميلة داتانغ الموسيقى

لفهم سلسلة Nodejs - حيوان وعد

الفائز بجائزة شو لو مقابلة السلسلة 80 حاليا الكاتب الوحيد ماجين جائزة لو ليان: الأرض ذات جذور الأدبية شمال غرب تصوير الخير