电商项目前后端接口说明

服务器信息

IP:192.168.0.108

Port:9000

云服务器信息

IP:43.142.28.161

端口:9000

状态码

状态码备注
200请求成功
500服务器端响应失败
401前端传参为空或空串
402账号或密码错误
501若账号已存在,以改账号注册返回501
502身份验证失败

登录/注册模块

用户注册接口

注册页接口

  • URL:http://IP:Port/xdmall/user/logon

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring-
    passwordstring-
    rolestring取值user/business/admin之一
  • 示例

    //request
    {
        "accountNum":"835629801@user",
        "password":"a1b2c3",
        "role":"user"
    }
    
    //response
    {
        "data": {
            "role": "user",
            "accountNum": "835629801@user"
        },
        "msg": "logon success.",
        "code": 200
    }
    
    ---------------------------
    //账号已存在,注册失败
    {
        "data": null,
        "msg": "Account already exists",
        "code": 501
    }
    
    //缺少参数
    {
        "data": null,
        "msg": "param is null.",
        "code": 401
    }
    

用户登录接口

登录页接口

  • URL:http://IP:Port/xdmall/user/login

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring-
    passwordstring-
    rolestring取值user/business/admin之一
  • 示例

    //request
    {
        "accountNum":"835629801@user",
        "password":"a1b2c3",
        "role":"user"
    }
    
    //response
    {
        "data": {
            "image": “头像的base64编码",
            "role": "user",
            "accountNum": "835629801@user"
        },
        "msg": "login success.",
        "code": 200
    }
    
    ----------------------------
    //账号不存在
    {
        "data": null,
        "msg": "user is not exists.",
        "code": 402
    }
    
    //密码错误
    {
        "data": null,
        "msg": "password error.",
        "code": 402
    }
    
    //缺少参数
    {
        "data": null,
        "msg": "param is null.",
        "code": 401
    }
    

用户信息修改接口

  • URL:http://IP:Port/xdmall/user/alterUser

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring根据用户账号修改信息
    passwordstring-
    nicknamestring-
    picstring-
    sexstring男/女
    telstring-
    isVipbool-
    • 注:需要修改那个属性,json就传那个key,value
  • 示例

    request body
    {
        "accountNum":"835629801@business",
        "password":"a1b2c3",
        "nickname":"初阳寻风",
        "pic":"base64",
        "sex":"男",
        "tel":"15399413267",
        "isVip":true
    }
    
    response
    {
        "data": null,
        "msg": "success.",
        "code": 200
    }
    

商户信息修改接口

  • URL:http://IP:Port/xdmall/user/alterBusiness

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    storeNamestring-
    ownerstring根据owner查找该账号下商店
    picstring-
    addressstring-
    zipcodestring-
    telstring-
    typestring-
    levelint-
    • 注:需要修改那个属性,json就传那个key,value
  • 示例

    request body
    {
        "storeName":"黑猪白猪的小店",
        "owner":"835629801@business",
        "pic":"",
        "address":"陕西省西安市莲湖区红庙坡街道",
        "zipcode":"710014",
        "tel":"15399413267",
        "type":"花店",
        "level":5
    }
    
    response
    {
        "data": null,
        "msg": "success.",
        "code": 200
    }
    

管理员信息修改接口

  • URL:http://IP:Port/xdmall/user/alterAdmin

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring根据账号修改信息
    adminNamestring-
    picstring-
    telstring-
    • 注:需要修改那个属性,json就传那个key,value
  • 示例

    request body
    {
        "accountNum":"835629801@business",
        "adminName":"黑猪",
        "pic":"",
        "tel":"15399413267"
    }
    
    response
    {
        "data": null,
        "msg": "success.",
        "code": 200
    }
    

用户/商户信息查询

  • URL:http://IP:Port/xdmall/user/query

  • 请求方式:GET

  • Request Param:

    属性名类型必填备注
    accountNumstring-
    rolestring-
  • 示例

    request body
    http://localhost:9000/xdmall/user/query?accountNum=835629801@business&role=business
    
    response
    {
        "data": {
            "id": 1,
            "storeName": "黑猪白猪的小店",
            "owner": "835629801@business",
            "pic": "用户头像base64编码",
            "address": "陕西省西安市莲湖区红庙坡街道",
            "zipcode": "710014",
            "tel": "15399413267",
            "type": "花店",
            "level": 5,
            "picturePath": "",	//忽略该字段
            "role": "business"
        },
        "msg": "success.",
        "code": 200
    }
    

商品模块

商户添加商品接口

商户权限下,添加商品接口。注:添加商品要先对商户信息进行初始化,否则商户名为默认值:未设置

  • URL:http://IP:Port/xdmall/product/add

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring-
    rolestring只有business角色能添加商品
    productobject商品对象,字段详情见示例
  • 示例

request
{
	"accountNum": "835629801@business",		//登录账户
	"role": "business",		//登录角色
	"product": {
		"name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",		//商品名称
		"storeName": "黑猪白猪的小店",		//商店名
		"pic": "",		//商品图片的base64编码
		"brand": "小米",	//品牌
		"price": 2699.00,	//价格,单位:元
		"description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购",	//商品描述
		"number": 30,	//商品库存数量
        "unit": "部",	//单位
		"weight": 550.53,	//重量,单位为克:g
		"keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待"	//关键词,用于搜索
	}
}

response
{
    "data": {
        "id": 17
    },
    "msg": "add product success.",
    "code": 200
}

商户/管理员删除商品接口

商户、管理员权限下,删除商品接口

  • URL:http://IP:Port/xdmall/product/drop

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring-
    rolestring只有business、admin角色能添删除商品
    productobject商品对象,字段详情见示例
  • 示例

request
{
	"accountNum": "835629801@business",
	"role": "business",
	"product": {
		"id":"13"
	}
}

response
{
    "data": null,
    "msg": "delete success.",
    "code": 200
}

商户/管理员/用户根据商品ID查询商品详情接口

商户、管理员、用户权限下,查询商品详情接口。注意是精确查询,主要针对商品CURD使用

  • URL:http://IP:Port/xdmall/product/queryById

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring-
    rolestringuser、business、admin角色具有接口权限
    productobject商品对象,字段详情见示例
  • 示例

request
{
	"accountNum": "835629801@business",
	"role": "business",
	"product": {
		"id":"12"
	}
}

response
{
    "data": {
        "keywords": "苹果|ipone|高端手机",
        "price": 6000.50,
        "name": "ipone14",
        "storeName":"黑猪白猪的小店",
        "description": "苹果手机..",
        "weight": 500.23,
        "id": 12,
        "pic":"图片base64编码",
        "stock": 20,
        "unit": "部",
        "brand": "苹果"
    },
    "msg": "query success.",
    "code": 200
}

商户修改商品接口

商户权限下,修改商户自身商品信息接口

  • URL:http://IP:Port/xdmall/product/alterById

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring-
    rolestringbusiness角色具有接口权限
    productobject商品对象,字段详情见示例
  • 示例

request
{
	"accountNum": "",
	"role": "",
	"product": {
		"id":12,					//商品ID
		"name": "ipone14",			//商品名称
        "storeName":"黑猪白猪的小店", //商店名
		"pic": "base64",			//商品图片
		"brand": "苹果",				//品牌
		"price": 6000.00,			//价格,单位:元
		"description": "苹果手机..",	//商品描述
		"number": 20,					//商品数量,增加20为20,减少10为-10
		"unit": "部",					//单位
		"weight": 500.00,				//重量,单位为克:g
		"keywords": "苹果|ipone|高端手机"	//关键词,用于搜索
	}
}

response
{
    "data": null,
    "msg": "alter product success.",
    "code": 200
}

批量查询商品接口

商户权限下,修改商户自身商品信息接口

  • URL:http://IP:Port/xdmall/product/query/batch

  • 请求方式:GET

  • Request Param:

    属性名类型必填备注
    pageNumint页数,默认1,第一页为1
    pageSizeint页大小,默认10
    storeNamestring商店名,如果为空,表示查询所有商户下所有商品
  • 示例

request
http://localhost:9000/xdmall/product/query/batch?pageNum=1&pageSize=5&storeName=黑猪白猪的小店

response
{
    "data": {
        "total": 1,		//当前查询条件下商品总数
        "content": [
            {
                "id": 3,
                "name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                "storeName": "黑猪白猪的小店",
                "pic": "商品图片base64编码",
                "brand": "小米",
                "price": 2699.0,
                "description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购",
                "number": 0,
                "stock": 30,
                "unit": "部",
                "weight": 550.53,
                "keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                "picturePath": ""	//忽略该字段
            }
        ]
    },
    "msg": "success.",
    "code": 200
}

搜索模块

将数据库中数据导入到Elasticsearch

将数据库中所有数据导入ES

  • URL:http://IP:Port/xdmall/esProduct/importAll

  • 请求方式:POST

  • Request Body:无

  • 示例

request

response
{
    "data": 3,	//返回导入记录条数
    "msg": "success.",
    "code": 200
}

根据商品ID导入商品到ES

根据商品ID将商品导入ES,商品添加成功后后端调用

  • URL:http://IP:Port/xdmall/esProduct/import/{id}
  • 请求方式:POST
  • Request Body:无
  • 示例
http://192.168.0.108:9000/xdmall/esProduct//import/16

{
    "data": {
        "id": 16,
        "name": "华为 HUAWEI P20 ",
        "pic": null,
        "brand": "华为",
        "price": 3788.0,
        "description": "AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待",
        "number": 0,
        "stock": 20,
        "unit": "部",
        "weight": 500.5,
        "keywords": "华为|全面屏|高端手机|全网通版|双卡双待",
        "picturePath": "F:\\compute\\Java学习\\IdeaProjects\\netmarket\\image\\product\\cOnt1rDlnH.jpg"
    },
    "msg": "success.",
    "code": 200
}

根据商品ID删除ES中记录

根据商品ID删除ES中记录,商品删除成功后后端调用

  • URL:http://IP:Port/xdmall/esProduct/delete/{id}
  • 请求方式:GET
  • Request Param:无
  • 示例
http://192.168.0.108:9000/xdmall/esProduct/delete/16

{
    "data": null,
    "msg": "success.",
    "code": 200
}

批量删除ES商品记录

根据商品ID批量删除ES中记录

  • URL:http://IP:Port/xdmall/esProduct/delete/batch
  • 请求方式:POST
  • Request Param:无
  • 示例
http://192.168.0.108:9000/xdmall/esProduct/delete/batch?ids=16,17

{
    "data": null,
    "msg": "success.",
    "code": 200
}

ES搜索接口

联想搜索相关接口,可以用于首页搜索框,商品类别等…

  • URL:http://IP:Port/xdmall/esProduct//search/simple

  • 请求方式:GET

  • Request Param:

    属性名类型必填备注
    accountNumstring记录用户搜索历史,用于首页商品推荐,搜索历史保留1年
    keywordstring关键词,根据商品名、描述、关键词字段进行分词并查询
    pageNumnumber默认1,第一页的页号为1
    pageSizenumber默认5
  • 示例

http://192.168.0.108:9000/xdmall/esProduct/search/simple?keyword=手机&pageNum=0&pageSize=2

{
    "data": {
        "total": 2,
        "content": [
            {
            "id": 15,
            "name": "ipone14",
            "pic": "商品图片base64编码",
            "brand": "苹果",
            "price": 6000.5,
            "description": "苹果手机..",
            "number": 0,	//忽略该字段
            "stock": 20,	//展示库存
            "unit": "部",
            "weight": 500.23,
            "keywords": "苹果|ipone|高端手机",
            "picturePath": ""
            },
            {
                "id": 16,
                "name": "华为 HUAWEI P20 ",
                "pic": "商品图片base64编码",
                "brand": "华为",
                "price": 3788.0,
                "description": "AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待",
                "number": 0,
                "stock": 20,
                "unit": "部",
                "weight": 500.5,
                "keywords": "华为|全面屏|高端手机|全网通版|双卡双待",
                "picturePath": ""
            }
        ]
    },
    "msg": "success.",
    "code": 200
}

商品推荐接口

根据用户历史搜索记录进行首页商品推荐,返回10款商品

  • URL:http://IP:Port/xdmall/esProduct//search/recommend

  • 请求方式:GET

  • Request Param:

    属性名类型必填备注
    accountNumstring记录用户搜索历史,用于首页商品推荐,
    pageNumnumber默认1,第一页的页号为1
    pageSizenumber默认5
  • 示例

    http://192.168.0.108:9000/xdmall/esProduct/search/recommend?accountNum=835629801@business
    
    {
        "data": [
            {
                "id": 15,
                "name": "ipone14",
                "pic": "商品图片base64编码",
                "brand": "苹果",
                "price": 6000.5,
                "description": "苹果手机..",
                "number": 0,	//忽略该字段
                "stock": 20,	//展示库存
                "unit": "部",
                "weight": 500.23,
                "keywords": "苹果|ipone|高端手机",
                "picturePath": ""
            },
            {
                "id": 16,
                "name": "华为 HUAWEI P20 ",
                "pic": "商品图片base64编码",
                "brand": "华为",
                "price": 3788.0,
                "description": "AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待",
                "number": 0,
                "stock": 20,
                "unit": "部",
                "weight": 500.5,
                "keywords": "华为|全面屏|高端手机|全网通版|双卡双待",
                "picturePath": ""
            }
        ],
        "msg": "success.",
        "code": 200
    }
    

购物车模块

添加购物车商品

  • URL:http://IP:Port/xdmall/shopping/add

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring-
    productIdnumber商品ID
    numbernumber商品数量
  • 示例

    request body
    {
    	"accountNum": "835629801@user",
    	"productId": 3,
    	"number": 1
    }
    
    response
    {
        "data": {
            "id": 2			//购物车中记录ID
        },
        "msg": "success.",
        "code": 200
    }
    

修改购物车商品数量

  • URL:http://IP:Port/xdmall/shopping/alter

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring-
    idnumber购物车记录ID
    numbernumber商品数量
  • 示例

    request body
    {
    	"accountNum": "835629801@user",
        "id": 2,
    	"number": 2
    }
    
    response
    {
        "data": null,
        "msg": "success.",
        "code": 200
    }
    

查询账户下购物车信息

  • URL:http://IP:Port/xdmall/shopping/query

  • 请求方式:GET

  • Request Param:

    属性名类型必填备注
    accountNumstring查找某账户下购物车信息
  • 示例

    request param
    http://localhost:9000/xdmall/shopping/query?accountNum=835629801@user
    
    response
    {
        "data": [
            {
                "product": {		//商品信息
                    "id": 3,
                    "name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                    "storeName": "黑猪白猪的小店",
                    "pic": "商品图片base64编码",
                    "brand": "小米",
                    "price": 2699.0,
                    "description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购",
                    "number": 0,
                    "stock": 30,
                    "unit": "部",
                    "weight": 550.53,
                    "keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                    "picturePath": ""	//忽略该字段
                },
                "number": 2,	//购物车商品数量
                "accountNum": "835629801@user",
                "id": 2		//购物车记录ID
            }
        ],
        "msg": "success.",
        "code": 200
    }
    

删除购物车商品

  • URL:http://IP:Port/xdmall/shopping/drop

  • 请求方式:GET

  • Request Param:

    属性名类型必填备注
    idnumber购物车记录ID
  • 示例

    request
    http://localhost:9000/xdmall/shopping/drop?id=1
    
    response
    {
        "data": null,
        "msg": "success.",
        "code": 200
    }
    

订单模块

添加订单

  • URL:http://IP:Port/xdmall/order/add

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    accountNumstring账户
    statestring订单状态,create、run、done
    shoppingIdstring购物车ID组合,如2|3表示该订单由购物车单号2,3组成
  • 示例

    request body
    {
        "accountNum":"835629801@user",
        "state":"create",
        "shoppingId":"2"
    }
    
    response
    {
        "data": {
            "id": 2		//订单ID
        },
        "msg": "success.",
        "code": 200
    }
    

修改订单状态

  • URL:http://IP:Port/xdmall/order/alter

  • 请求方式:POST

  • Request Body:

    属性名类型必填备注
    idstring订单ID
    statestring订单状态,create、run、done
  • 示例

    request body
    {
        "id":"1",
        "state":"done"
    }
    
    response
    {
        "data": null,
        "msg": "success.",
        "code": 200
    }
    

查询账户下所有订单

  • URL:http://IP:Port/xdmall/order/query

  • 请求方式:GET

  • Request Param:

    属性名类型必填备注
    accountNumstring账户
  • 示例

    request
    http://localhost:9000/xdmall/order/query?accountNum=835629801@user
    
    response
    {
        "data": [
            {
                "id": 1,												//订单编号
                "accountNum": "835629801@user",							//订单所属账户
                "createtime": "2023-06-04 20:51:23",					//订单创建时间
                "address": "陕西省西安市莲湖区红庙坡街道红东花园1期",			//订单收货地址
                "state": "done",										//订单状态
                "price": 10796.00,										//订单中商品总额
                "productAndNumDtoList": [			//订单由若干商品组成,且包含商品数量
                    {
                        "number": 2,		//商品数量
                        "product": {		//商品信息
                            "id": 3,
                            "name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                            "storeName": "黑猪白猪的小店",
                            "pic": "商品base64编码"
                            "brand": "小米",
                            "price": 2699.0,
                            "description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购",
                            "number": 0,
                            "stock": 30,
                            "unit": "部",
                            "weight": 550.53,
                            "keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                            "picturePath": ""
                        }
                    },
                    {
                        "number": 2,	//商品数量
                        "product": {	//商品信息
                            "id": 4,
                            "name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                            "storeName": "黑猪白猪的小店",
                            "pic": "商品base64编码"
                            "brand": "小米",
                            "price": 2699.0,
                            "description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购",
                            "number": 0,
                            "stock": 30,
                            "unit": "部",
                            "weight": 550.53,
                            "keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                            "picturePath": ""
                        }
                    }
                ]
            },
            {
                "id": 2,		//同上,第二个订单
                "accountNum": "835629801@user",
                "createtime": "2023-06-04 21:03:06",
                "address": "陕西省西安市莲湖区红庙坡街道红东花园1期",
                "state": "create",
                "price": 5398.00,
                "productAndNumDtoList": [
                    {
                        "number": 2,
                        "product": {
                            "id": 3,
                            "name": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                            "storeName": "黑猪白猪的小店",
                            "pic": "商品base64编码"
                            "brand": "小米",
                            "price": 2699.0,
                            "description": "骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购",
                            "number": 0,
                            "stock": 30,
                            "unit": "部",
                            "weight": 550.53,
                            "keywords": "小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待",
                            "picturePath": ""
                        }
                    }
                ]
            }
        ],
        "msg": "success.",
        "code": 200
    }
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值