مقدمة
التمهيد الربيع على التكامل 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 تحالف مكافحة" الآن!