热门标签 | 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服务器与动态语言的交互机制:CGI、FastCGI与PHP-FPM
    本文详细解析了Web服务器(如Apache、Nginx等)与动态语言(如PHP)之间通过CGI、FastCGI及PHP-FPM进行交互的具体过程,旨在帮助开发者更好地理解这些技术背后的原理。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • electronvue使用electronupdater实现自动更新
    今天呢,给大家带来一篇干货满满的electron-vue自动升级的教程,话不多说,开始我的表演!配置文件package.jsonbu ... [详细]
  • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
  • 本文详细介绍了Java中的代理模式,包括静态代理、JDK动态代理和Cglib动态代理的实现方式。通过一个火车票销售系统的实例,对比分析了三种代理模式的特点及其应用场景。 ... [详细]
  • 本文探讨了在使用Apache Flink向Kafka发送数据过程中遇到的事务频繁失败问题,并提供了详细的解决方案,包括必要的配置调整和最佳实践。 ... [详细]
  • 本文详细介绍如何在Spring Boot项目中集成和使用JPA,涵盖JPA的基本概念、Spring Data JPA的功能以及具体的操作步骤,帮助开发者快速掌握这一强大的持久化技术。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 实现一个具有动画效果的手风琴组件,包括代码示例和实现原理。 ... [详细]
  • 本文详细介绍了如何通过配置 Chrome 和 VS Code 来实现对 Vue 项目的高效调试。步骤包括启用 Chrome 的远程调试功能、安装 VS Code 插件以及正确配置 launch.json 文件。 ... [详细]
  • 深入解析Android Activity生命周期
    本文详细探讨了Android中Activity的生命周期,通过实例代码和详细的步骤说明,帮助开发者更好地理解和掌握Activity各个阶段的行为。 ... [详细]
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
  • 面对快应用开发时需要获取摘要值的需求,但官方API并未直接提供相应支持。通过探索发现,利用第三方加密库crypto-js可有效解决此问题。本文将详细介绍如何集成并使用该库来实现摘要值的获取。 ... [详细]
  • 优雅地记录API调用时长
    本文旨在探讨如何高效且优雅地记录API接口的调用时长,通过实际案例和代码示例,帮助开发者理解并实施这一技术,提高系统的可观测性和调试效率。 ... [详细]
  • 本文介绍了两个重要的Node.js库——cache-content-type和mime-types,它们在处理HTTP响应头时非常有用。cache-content-type是基于mime-types构建的,并且实现了缓存机制以提高性能。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
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社区 版权所有