热门标签 | 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)然后,启动后端项目;



推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • SpringMVC工作流程概述
    SpringMVC工作流程概述 ... [详细]
  • Iwanttointegratesort,order,maxandoffsetinafindAllquery.Thefollowingworksfine:我想在fin ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 使用这个技巧要达到的目标:一般来说,模型和控制器你都不会有相同的类名字。让我先创建一个取名为post的model。classPostextendsModel{}现在 ... [详细]
  • [转载]从零开始学习OpenGL ES之四 – 光效
    继续我们的iPhoneOpenGLES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可 ... [详细]
  • uboot与linux驱动1.uboot本身是裸机程序(1)在裸机中本来是没有驱动概念的(狭义的驱动概念是指在操作系统中用来具体操控硬 ... [详细]
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社区 版权所有