热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

70:第六章:开发文章服务:3:发文章,之开发【查看文章领域,接口】;(一个点:即使同一个功能,在面对不同的业务场景时,最好开发多份→以降低耦合度,提高后续业务变更时的可维护性;)

说明:(1)本篇博客内容:发文章,之开发【查看文章领域,接口】;目录一ÿ

说明:

(1)本篇博客内容:发文章,之开发【查看文章领域,接口】;

目录

一:发文章,之开发【查看文章领域,接口】:说明;

二:开发【查看文章领域,接口】;

1.在【api】接口工程的ArticleCategoryControllerApi接口中,定义【查看文章领域,接口】;

2.在【admin】管理服务的ArticleCategoryController类中,去实现【查看文章领域,接口】;

3.效果;



一:发文章,之开发【查看文章领域,接口】:说明;


我们在【64:第五章:开发admin管理服务:17:开发【查询文章分类,接口】【新增/更新文章分类,接口】等文章分类相关的接口;(这些数据是存在MariaDB中的)】中,开发过【查询文章分类,接口】;这儿的逻辑,其实是一样的;




二:开发【查看文章领域,接口】;

1.在【api】接口工程的ArticleCategoryControllerApi接口中,定义【查看文章领域,接口】;


/*** 【查看文章领域,接口】* @return*/@ApiOperation(value = "前台查询文章领域列表", notes = "前台查询文章领域列表", httpMethod = "GET")@GetMapping("/getCats") //设置路由,这个是需要前后端约定好的;public GraceJSONResult getCats();

说明:

(1)这个接口的url、请求方式、参数不是瞎写的,需要前后端保持一致; 


2.在【admin】管理服务的ArticleCategoryController类中,去实现【查看文章领域,接口】;


/*** 【查看文章领域,接口】(前台发表文章时,使用)* @return*/@Overridepublic GraceJSONResult getCats() {List categories = articleCategoryService.queryCategoryList();return GraceJSONResult.ok(categories);}

说明: 

(1)逻辑一样,就是调用以前在开发【查询文章分类,接口】时,在service层开发的方法,去查询即可;

(2)一个特别需要注意的点:

          ● 我们在【64:第五章:开发admin管理服务:17:开发【查询文章分类,接口】【新增/更新文章分类,接口】等文章分类相关的接口;(这些数据是存在MariaDB中的)】中,开发的【查询文章分类,接口】,和这儿的【查看文章领域,接口】,目前看起来,其逻辑是一样的;(只是两个接口的url地址是不一样的)

          ● 那么,我们为什么还要分成两个接口呐,为什么不合并呐?

          ● 这个主要是从业务角度来考虑的;

          ●【查询文章分类,接口】、【查看文章领域,接口】,虽然都是在【admin】管理微服务中实现的;

          ● 如果【查询文章分类,接口】、【查看文章领域,接口】合并了;;;那么,当【admin】管理微服务再进行拆分的时候,这个接口就不好归类了;

          ● 而且,其实【查询文章分类,接口】、【查看文章领域,接口】在业务层面上来看,是不同的;;;那么,既然隶属的具体业务不同,如果以后某个业务需要额外扩展、另一个业务不需要扩展;此时,因为耦合度较大,就不好维护了;

          ● 这一点,在下一篇博客中,就会有体现;

          ● 但是也不要矫枉过正;如果在同一片业务群中(比如,都是后台管理系统处),如果有多个地方会需要同一个功能,那么大概率还是可以共用同一个接口的;


3.效果;


(1)先install一下整个项目;(2)记得使用SwitchHost开启虚拟域名映射;(3)使用Tomcat启动前端项目;(4)然后,启动后端项目;



推荐阅读
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 本教程详细介绍了如何使用 Spring Boot 创建一个简单的 Hello World 应用程序。适合初学者快速上手。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 本文详细解析了Java类加载系统的父子委托机制。在Java程序中,.java源代码文件编译后会生成对应的.class字节码文件,这些字节码文件需要通过类加载器(ClassLoader)进行加载。ClassLoader采用双亲委派模型,确保类的加载过程既高效又安全,避免了类的重复加载和潜在的安全风险。该机制在Java虚拟机中扮演着至关重要的角色,确保了类加载的一致性和可靠性。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • Spring框架中枚举参数的正确使用方法与技巧
    本文详细阐述了在Spring Boot框架中正确使用枚举参数的方法与技巧,旨在帮助开发者更高效地掌握和应用枚举类型的数据传递,适合对Spring Boot感兴趣的读者深入学习。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 在 `UITableViewController` 中采用简洁的平面样式布局时,可以通过优化代码实现单元格扩展至屏幕边缘的效果,同时确保节标题以分组样式呈现,从而提升用户体验和界面美观度。通过这种方式,可以更好地组织和展示列表内容,使其更加清晰和有序。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 系统转换的三种方法及其具体应用分析
    系统转换是信息技术领域中常见的任务,本文详细探讨了三种主要的系统转换方法及其具体应用场景。这些方法包括:代码迁移、数据迁移和平台迁移。文章通过实例分析了每种方法的优势和局限性,并提供了实际操作中的注意事项和技术要点。例如,代码迁移适用于从VB6获取网页源码,数据迁移在Ubuntu中用于隐藏侧边栏,而平台迁移则涉及Tomcat 6.0的使用和谷歌爬虫的测试。此外,文章还讨论了蓝翰互动PHP面试和5118 SEO工具在系统转换中的应用,为读者提供了全面的技术参考。 ... [详细]
author-avatar
郑谊099_448
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有