springBoot+restfulApi+注解开发总结(小Demo)

       沉寂了很久,再次发博。本次针对于自己最近自己实战的项目简单总结一下自己的小心得。

       关于本次的总的内容主要是前后端分离中的后端API接口的开发思路,希望给小伙伴做点启发,同时会附上源码地址,后续小伙伴可以结合着去调试,废话少说,进去正题。

       本次业务场景是涉及到我们微信小程序或者微信公众号的点餐系统。

比如现在需要做如下一个需求:针对接口文档,设计点餐过程中的查询所有商品列表,下单,订单查询,支付,取消的功能接口。具体入参和返回值如下:

API(1):查询所有上架商品
参数:无
返回:{
    "code": 0,
    "msg": "成功",
    "data": [
        {
            "name": "最受欢迎的菜谱",
            "type": 1,
            "foods": [
                {
                    "id": "123456",
                    "name": "皮蛋粥",
                    "price": 4.5,
                    "description": "好吃的皮蛋粥",
                    "icon": "http://xxx.com",
                }
            ]
        },
        {
            "name": "特价商品",
            "type": 2,
            "foods": [
                {
                    "id": "123457",
                    "name": "慕斯蛋糕",
                    "price": 18.9,
                    "description": "美味爽口",
                    "icon": "http://xxx.com",
                }
            ]
        }
    ]
}

然后就是数据库设计,具体脚本可以在此路径下下载:此路径下(最好注册一个github账号)

数据库表结构设置ok之后就是这样子的:这个地方使用的mysql数据库

springBoot+restfulApi+注解开发总结(小Demo)_第1张图片

接下来是写实体类:商品分类ProductCategory,商品信息类ProductInfo,商品订单类OrderMaster,商品明细类OrderDetail

ProductCategory:

@Entity
@DynamicUpdate
@Data
public class ProductCategory {
     
     /**  类目id.
	   *  @id  标注用于声明一个实体类的属性映射为数据库的主键列。
	   *  @GeneratedValue   用于标注主键的生成策略。
	   *  GenerationType.IDENTITY 主键自增长
	   */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer categoryId;
	
	/**类目名称.*/
	private String categoryName;
	
	/**类目编号.*/
	private Integer categoryType;
	
	private Date createTime;
	
	private Date updateTime;
	
	public ProductCategory() {
	}

	public ProductCategory(String categoryName, Integer categoryType) {
		super();
		this.categoryName = categoryName;
		this.categoryType = categoryType;
	}

	@Override
	public String toString() {
		return "ProductCategory [categoryId=" + categoryId + ", categoryName=" + categoryName + ", categoryType="
				+ categoryType + ", createTime=" + createTime + ", updateTime=" + updateTime + "]";
	}

}

 

你可能感兴趣的:(springboot实战,Spring-boot学习笔记,SpringBoot)