zoukankan      html  css  js  c++  java
  • java 后端博客系统文章系统——No4

    这一期我们的目标是完成后端博客系统的博客发布功能。

    按照我们前面的设定,我们的后端博客系统需要完成最简单的博文发布,我们也得有后台管理界面,同时需要将用户权限这些都附带上,但是由于时间关系,我们后端默认账户就是管理员吧,毕竟这一期的重点是实现博客的发布。


     

    我们需要发布博文,那么后端必不可少的是登录和发布系统,至于其他的我们可以先缓一缓,毕竟我也没想好后端页面怎么设计,嘿嘿。

    前面我看了一下,确实是完美兼容WordPress还是有很多难度,毕竟很多技术细节我们并不知道,不过,至少说目前我们已经兼容了博客文章,剩下的只需要一点点的适配就能大概完成任务。

    不多说了,我们先完成后端登录功能。

     

    后端登录

    后端登录,我们不可能说一味的兼容WordPress,还有一些技术上面的设计理念可能也不是那么那啥,所以我们需要拿出一些自己的玩意。首先还是老规矩,从Dao→Service→Controller。

    • Dao按照老规矩就是对数据库的操作,所以我们只需要写上接口和mapper就行了。
    • Service层还是一样进行单元数据操作。
    • Controller是web应用的入口地点。

    有了上面的这些我们只需要进行一个登录验证,也就是前面说过的密码规则验证,不过具体代码如下:


     

    虽然说很多东西我们在前端或者是客户端已经做了限制,但是为了防止别人搞事情我们还是需要这样做才行。

     

    Spring-Fox,Api测试页面

    什么是Spring-Fox呢?Springfox的前身是swagger-springmvc,是一个开源的API doc框架,可以将我们的Controller的方法以文档的形式展现。

    为什么我们要大费周章的做这些呢?

    • 它可以帮助我们归类web访问入口
    • 它可以整理接口
    • 它可以···

    确实语言描述是我的弱点,不过呢,我这个理工直男癌就需要直截了当的说出来,没时间解释,直接上图。


     

    正如上面的截图所示,我们首先应该找到对应的spring-fox的说明文档,然后仔细一看网上分为两个版本,一个是开源中国的引入说明,一个是Spring-Fox官方的使用说明,那么肯定选择官方的。

    按照官方文档,我们简单总结一下:

    • 版本选择(Release或者Snapshot,推荐使用Release)
    • 依赖引入(maven或者gradle)
    • swagger设置
    • 重要细节(Spring-Fox官方文档中没有指明!!!)

    按照官方文档说明的是,他们的demo是在SpringBoot下面实现的,现在我们需要单一的拆分出来,可以看成我们的项目就是Spring-Mvc,所以一些细节需要改变,当然当中一个很重要的细节官方文档也是没有指明,所以看官们且看我细细道来。


     

    首先我们引入引来资源,通读全文最基本的依赖是:springfox-swagger、springfox-swagger-ui,所以我们直接老规矩,在gradle的配置文件中引入依赖:


     

    在引入上面的基本依赖后,我们查看他们关联的依赖可以发现这些依赖里面还有引入jackson,这个时候我们可以选择提升我们的Jackson或者不管他们也行,不过我还是吧Jackson的版本提升了:


     

     

    根据官方文档我们可以看到有一个swagger设置需要先引入后,才能让我们设定的东西生效,所以我们先引入设置:


     

    设置完成上面的东西后,我们需要干什么呢? 上面我们很明显的看到我们@configuration是一个spring框架的注解,顾名思义肯定就应该是一个spring的设置。同时我们可以在idea的编辑器中看到类名有一层淡黄色的标记,然后选中类名按下代码提示(Alt+Enter)会有提示告诉我们这个设置没有使用,然后自动完成后会给我们自动添加到Spring的ApplicationContext中作为CodeContext使用。

    当然,上面的是懒人做事这样做的后果会是导致apiInfo的设置不能生效。

    那么正常一点的应该是怎么做呢?按照Spring的思想来说,我们需要在Spring的设置文件中直接引入bean。所以我们在spring-web.xml中插入对应的bean,如下:


     

    通过这样的在spring的配置文件中设置后,我们感觉应该是能用的,所以我们可以先跑起来看看


     

    按照官方文档我们完全设定了后,我们可以看到就算我们在代码中引入了配置后,一样的在里面不能看到网页的接口列表(只看得到上面的标题栏,下面的是空白),然后我们仔细的查看网页的请求会发现


     

    这个请求是404。说实话这个错误困扰了我很久,同时这个问题前面我处理的时候还是有一系列的综合问题,后面整个工程师重建后完成的。

    但是现在这个问题简单直接找到问题所在了,那就是在我们spring的设置中,关于web的设置我们都是在spring-web.xml中完成的,同时里面的东西我们需要改动一下才能适应现在的需要,如下:


     

    也就是说,我们除了要在Spring的配置文件中引入bean来初始化swagger相关的东西以外,我们还需要在web扫描那里添加springfox的扫描。所以我们spring-fox的设置相关的完成了。


     

    从前面的学习中我们可以明白我们所有的网络请求都是在controller中来实现的,所以我们这里需要通过对controller做适当的修改才能实现SpringFox的使用。具体的直接仍代码上来,大家详细的看看就行了,不需要什么深入钻研。


     

    至此我们的Spring-Fox简单实用已经完成,后续的操作我们在需要的地方再查找资料就行了。

     

    总结

    本期项目都是简单的介绍了一些东西,主要有:

    • 登录密码校验规则(MD5→SHA256)
    • Spring-Fox的引入
    • Spring-Fox在非springBoot中的使用
    • Spring-Fox的使用
  • 相关阅读:
    短文本理解蓝图
    BERT在工业界落地的常用三步
    C#:面试相关问题集
    Delphi线程简介Create及其参数、Resume、Suspend和Terminate(转载)
    迭代器模式(学习笔记19)
    备忘录模式(学习笔记21)
    GPS中地面航向角,磁偏角
    访问者模式(学习笔记20)
    easyui:初始化失败的问题
    访问者模式(学习笔记22)
  • 原文地址:https://www.cnblogs.com/yuandengta/p/13295275.html
Copyright © 2011-2022 走看看