我的框架开发记录--2022.5.15

news/2024/7/10 2:24:18 标签: restful, 前端, java, vuex, vue

序言

10天过去了,但是最近的进度很慢。

这些天就在弄菜单管理以及处理前期的bug。

因为只有下班回来搞一个小时左右,连着两天被莫名奇妙的问题困住了(Vue的)。

第一次用vuex>vuex、封装api这些高大上的东西,不熟悉是导致问题解决慢的原因之一。最大的问题还是粗心,真的捞啊我晕,很费时。

后端也很扯,不知道你们用过MybatisX这个插件没,就是可以从mapper接口跳到xml文件那个。因为之前是没用这个的,昨天想着方便一点就安装了。本来在plus中的mapper接口定义了自定义方法可以用。安装之后,我的service和mapper红了大半,实体类、mapper在service中引用不进来,路劲正确都不行。我直接傻了,重启也没用,百度等于没说。后面我把这个插件卸载,删掉了mapper和service重新写的才可以。又浪费了一个多小时。

把swagger也开始启用了,因为swagger3的原因,将spring boot版本降到了2.6以下

XpStart–2022.5.15

因为就写了菜单管理的基础接口,

我在写的时候一直在想弄规范一点。

规范

1.对于类是这样的:

vo:返回前端的视图类

form:前端传递的表单数据

entity:数据库类

dto这些对于我这个前后端分离的管理系统暂时还用不到。

2.然后就是,url路径规范:

首先不推荐驼峰命名,因为Linux服务器区分大小写,win不区分,可能会出问题。而且编写时多按一个键。

然后蛇形命名(多个单词_连接)和脊柱命名(多个单词-连接)都是可以的,这里我采用的蛇形命名。

restful_38">3.请求按照restful规范编写:

表示的动作用方法来表示,不在url上体现

  1. 查询用get

  2. 添加用post

  3. 修改用put

  4. 删除用delete

老样子,贴个代码:

java">@Validated
@RestController
@RequiredArgsConstructor
@RequestMapping("/sys_menu")
@Api(value = "菜单", tags = "菜单")
public class SysMenuController {

    private final SysMenuService menuService;

    @PostMapping("/")
    @ApiOperation(value = "添加菜单", notes = "添加菜单")
    public ResponseData addMenu(@RequestBody @Validated SysMenuForm form) {
        return menuService.addMenu(form);
    }

    @PutMapping("/")
    @ApiOperation(value = "修改菜单", notes = "修改菜单")
    public ResponseData editMenu(@RequestBody @Validated SysMenuForm form) {
        return menuService.editMenu(form);
    }

    @DeleteMapping("/{menu_id}")
    @ApiOperation(value = "删除菜单", notes = "删除菜单")
    public ResponseData deleteMenu(@PathVariable("menu_id") String menuId) {
        return menuService.deleteMenu(menuId);
    }

    @GetMapping("/page")
    @ApiOperation(value = "菜单分页", notes = "菜单分页")
    public ResponseData menuPage(SysMenuForm form) {
        return menuService.selectMenuByPage(form);
    }

    @GetMapping("/{menu_id}")
    @ApiOperation(value = "id查找", notes = "id查找")
    public ResponseData menuPage(@PathVariable("menu_id") String menuId) {
        return menuService.selectMenuById(menuId);
    }
}

Swagger

swagger我是用的 knife4j

配置文件从官方文档拿过来改下信息即用:

java">@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfig {
    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        //.title("swagger-bootstrap-ui-demo RESTful APIs")
                        .description("# swagger-bootstrap-ui-demo RESTful APIs")
                        .termsOfServiceUrl("http://www.xx.com/")
                        .contact("2944397754@qq.com")
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("XpStart")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.monkeylessey"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

Vue前端

这个也不好描述。

主要就是用vuex>vuex来达到各组件间的通信

然后就是vuex>vuex分模块。

这里就简单截个图,放下我的目录吧,以后回顾一下:

image-20220515215126733

我也把前端从vscode换为了idea,还是idea的快捷键让我香啊,而且vscode的代码看着总是很乱的感觉。

现在长这样了:

image-20220515215455082

好了,收拾睡觉了


http://www.niftyadmin.cn/n/1866804.html

相关文章

centos7自带python版本_CentOS7保留默认python版本并安装更新python2和python3两个最新版本(python2和python3共存)...

2. 下载并安装最新版本python2:wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgztar zxvf Python-2.7.13.tgzcd Python-2.7.13./configuremake allmake installmake cleanmake distcleanrm -rf /usr/bin/pythonrm -rf /usr/bin/python2rm -rf /usr…

为什么不尝试自己做代码生成(基于plus版)

文章目录代码生成效果:说明:1.准备工作和目标效果1.1 首先找到plus的模板在哪1.2.1先看下它现在这个controller模板生成的controller大致是啥样的2.入手点2.1查看引入的包2.2了解objectMap3.修改模板3.1梳理一下需求3.2打开你复制的模板做修改3.2.1添加注…

pythoncharm怎么保存_pycharm软件实现设置自动保存操作

pycharm一般安装完毕,就是默认是自动保存的,但是......但是....既然是程序,既然是软件,就难免出现bug。也许会有码友出现头天晚上写好的代码,打开一看,第二天白花花一片!!&#xff0…

java处理sso源码_Javashop 电商系统sso登录实现

业务需求嵌入到三方原有系统中,用户数据不留存在本系统中,而是调取三方的接口实现登录判断架构一.登录的时序图对方提供了登录页面,对面会员详细数据不存在本系统内。对方提供了4个接口,用来嵌入。以下为时序图二.数据结构Member …

代码生成的实现

序言 上一篇,我大概的介绍了一下如何基于Mybatis-Plus做自己的代码生成模板。快速上手 在这期间呢,今天是五月二十一号,我也把代码生成完善了一下,实现了添加、修改、删除、批量删除、分页查找、id查找这6个功能的代码自动生成。…

我的框架开发记录--2022.5.22

序言 这些天主要在搞代码生成,然后公司新项目用的jpa搞得我花了些时间去熟悉。 菜单管理和代码生成管理做好了。 总的来说,有些进展。 XpStart–2022.5.22 代码生成 我的代码生成是基于plus的代码生成模板的。 教程步骤我已经在如下两篇博客中说明…

java 的hashmap_Java 8 中 HashMap 到底有啥不同?

JDK1.8中的HashMap实现跟JDK1.7中的实现有很大差别。下面分析JDK1.8中的实现,主要看put和get方法。构造方法的时候并没有初始化,而是在第一次put的时候初始化putVal方法的主要逻辑是这样的:1、如果数组还没有初始化(数组长度是0),…

我的框架开发记录--动态路由、菜单

前言 好像已经两周没更新进度了。 因为这期间的进展没什么可值得用篇幅去记录的。 我大都在写页面。目前的话,一个很基础的后台管理基本成型了。 这一篇博客也是记录动态路由和菜单的。尤其是动态路由,把我急死了,好几次想锤桌子了。 话…