【SDU青山】项目实训记录(2)

经过我们组的商讨,后端决定采用springboot,数据库采用mysql,并于本周开始完成后端的管理员系统的初步搭建。

项目起始

首先进行项目的创建,创建一个初始的springboot项目,并引入web依赖和mysql相关依赖,后端起始架构如下:

 由于项目要上线,所以需要不同的配置文件,一个用于本地开发,一个用于上线,  

 

Swagger创建在线接口文档

首先引入依赖:

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

接着进行swagger的配置,如下:

package com.maomaogougou.qingshan.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RequestMapping;
import springfox.documentation.RequestHandler;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi(){
        return new Docket(DocumentationType.SWAGGER_2)
                .pathMapping("/")
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.maomaogougou.qingshan.controller"))
                .paths(PathSelectors.any())
                .build().apiInfo(new ApiInfoBuilder()
                        .title("青山垃圾分类系统文档")
                        .description("")
                        .version("1.0")
                        .contact(new Contact("青山小组","xxx","xxx"))
                        .license("青山 Lincense")
                        .build()

                );
    }

}

这个配置文件指定了文档的标题等。

之后我们就可以创建controller并实现在线文档了,如下:

@Api(tags = "这个是用户相关接口")
@RestController
public class UserController {

    @PostMapping("/user/login")
    @ApiOperation(value = "用户登录接口",
            notes = "<span style='color:red;'>描述:</span>&nbsp;登录功能," +
                    "<span style='color:red;'>参数:</span>&nbsp;username;password。" +
                    "<span style='color:red;'>请求路径:</span>&nbsp; /user/login")
    @ApiResponses({
           @ApiResponse(code = 200, message = "登录成功"),
            @ApiResponse(code = 404, message = "请求参数有误"),
            })
    public ResponseVo login(@RequestBody UserLoginForm form){
        return  new ResponseVo(200,"注册成功");
    }

}

效果如下:

 之后使用内网穿透就可以让前端同学访问这个在线接口文档,这样就方便了前后端开发。

后台管理系统设计

此项目的与后端有关的功能如下:

 

经过上面的需求分析,大致确定表的设计方案如下:

  • user表:用于用户管理。字段:uid,username,password,coin(积分)。功能:注册,图片验证码登录,登出,添加积分,花费积分,发布回收垃圾的任务,让志愿者来回收;用户任务列表,历史任务,确认任务完成等功能
  • history表:识别历史。字段:uid,image,resultType。功能:添加识别垃圾的历史记录,查询历史记录,删除历史记录
  • score表:用户做题的成绩。字段:uid,score,time,功能:添加历史成绩,查询历史成绩,删除历史成绩,用户成绩排行榜
  • examination表:题目。字段:title,answer。功能:添加题目,删除题目,更改题目答案
  • coins表:积分兑换记录。字段:uid,coin,time,marketId(兑换的皮肤编号)。功能:添加,更新,删除
  • market表:积分商城的商品。字段:marketId(商品编号),price。功能:添加,更新,删除
  • volunteer表:志愿者管理字段:uid,areaId。功能:添加,删除。
  • 【task表】:上门回收垃圾的任务。字段:taskId,areaId(管辖区域),uid(任务发布者id),price(完成后获取的报酬),time(发布时间),state(未领取,进行中,已完成),ExecutorUid(谁领取了任务),发布任务,任务列表,志愿者接收任务,任务发布者删除任务,志愿者放弃任务,查询某志愿者的历史任务。
  • 【area表】:不同区域。字段:areaId,area。功能:增删改查。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot+Vue2项目是一种前后端分离的开发模式,其中SpringBoot用于开发后端接口,Vue2用于开发前端页面。在这个项目中,可以使用SpringBootApplication注解来标识启动类,并通过@RestController注解来标识控制器类。\[1\] 在配置数据库时,可以在application.properties文件中添加相关配置,包括数据库驱动、URL、用户名和密码等信息。\[2\] 如果需要解决前后端跨域问题,可以在后端设置跨域配置,并将前端请求的baseURL属性值改为后台地址。这样就可以实现前后端的数据交互。\[3\] 总的来说,SpringBoot+Vue2项目是一种灵活、高效的开发模式,可以实现前后端的分离开发,并通过跨域配置实现数据的交互。 #### 引用[.reference_title] - *1* *2* [SDU项目实训——后台搭建——SpringBoot+Vue学习(二)](https://blog.csdn.net/m0_55633961/article/details/123504324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [SpringBoot+Vue2项目解决前后端跨域方案](https://blog.csdn.net/zl5186888/article/details/126865950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值