API设计阶段

一、数据库设计

1,为图片设计一张表来存储图片的相关属性:imageId作为表的自增主键用于查询图片,userId做为用户表的自增主键,用来唯一标识一个用户,imageName,size,contentType,path,uploadTime,md5。

建表语句:

 
create database if not exists image_system;
use image_system;
drop table if exists `image_table`
create table `image_table`(
                        image_id int not null primary key auto_increment,
                        user_id int,
                        image_name varchar(50),
                        size bigint,
                        upload_time varchar(50),
                        md5 varchar(128),
                        content_type varchar(50) comment '图片类型',
                        path varchar(1024)comment'图片录路径'
);

2,为用户设计一张表来存储用户的姓名和密码:userId做为自增主键来标识用户关联图片,name,password.

drop table if exists `user`
CREATE TABLE `user` (
  `name` varchar(20) NOT NULL,
  `password` varchar(30) NOT NULL,
  `userId` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`userId`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

二、服务器API设计-HTTP请求和响应设计

1,查看所有图片

请求:
GET /image HTTP/1.1
响应
HTTP/1.1 200 OK
[
 {
        "imageId": 1,
        "userId":1
        "size":2345
        "imageName": "1.png",
        "contentType": "image/png",
        "uploadTime":2020-01-20,
        "path":./Image,
        "md5": "[md5值]"
   }
]

2,根据imagesId查看指定图片

请求: 
GET /image?imageId=1 HTTP/1.1
响应:
HTTP/1.1 200 OK
{
        "imageId": 1,
        "userId":1
        "size":2345
        "imageName": "1.png",
        "contentType": "image/png",
        "uploadTime":2020-01-20,
        "path":./Image,
        "md5": "[md5值]"
}

3,根据imageId删除指定图片

请求: 
DELETE /image?imageId=1 HTTP/1.1
响应:
HTTP/1.1 200 OK
{
 "ok": true
}

4,根据imageId查看图片内容

请求: 
GET /imageShow?imageId=1 HTTP/1.1
响应: 
HTTP/1.1 200 OK 
content-type: image/png 
[响应 body 中为 图片内容 数据]

5,根据图片上传时间查找图片

请求:
GET /sel?time= HTTP/1.1
响应
HTTP/1.1 200 OK
[
 {
        "imageId": 1,
        "userId":1
        "size":2345
        "imageName": "1.png",
        "contentType": "image/png",
        "uploadTime":2020-01-20,
        "path":./Image,
        "md5": "[md5值]"
   }
]

5,注册用户

请求:

GET  /reg?name=?&password=? HTTP/1.1

响应:

HTTP/1.1 200 OK

{

     "ok":true

}

6,用户登录

请求:

GET  /login?name=?&password=? HTTP/1.1

响应:

HTTP/1.1 200 OK

{

     "ok":true

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值