我的框架开发记录--2022.5.15

我的框架开发记录--2022.5.15,第1张

序言

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

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

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

第一次用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不区分,可能会出问题。而且编写时多按一个键。

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

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

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

  1. 查询用get

  2. 添加用post

  3. 修改用put

  4. 删除用delete

老样子,贴个代码:

@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

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

@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分模块。

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

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

现在长这样了:

好了,收拾睡觉了

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/923335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存