Bani Yas

news/2024/11/29 20:50:44/

第一个子阶段的项目说明在下面列出,首要任务是创建一个restfulApi能够被前端首要来交互数据

 Web Service

        “Bani Yas”将提供需要你创建的 web services (网站服务) 的列表/清单

Web service specification (网站服务说明) 将包含网站服务的 URL path,请求方法, URL 请求参数, body (正文) 请求参数,响应结果和响应状态 。网站服务的请求和响应只能包含 JSON。

用户分为三种角色:公众,认证用户,管理员

        1. Authentication(认证)

Login

(v1/auth/login) Description: For client to get (获得) login token via (通过) username and password\
登录(v1/auth/Login)描述:供客户端获取(获得) 通过登录令牌(通过) 用户名和密码
        请求方法:POST
Header:header authorization basic
Requested params:
Body:username,password
Request result:
if success:
header:status.200
令牌`:授权令牌(在注销前有效)。令牌将由系统根据登录的用户名生成(登录后的 用户名),使用md5加密方法[不会]
if username/password not correct or empty
header:status 401
body:invalid login
Logout
)注销(v1/auth/Logout?令牌={AUTHORIZATION_token})说明:服务器使用户的令牌无效(使 用户令牌无效)
请求方法:GET
Header:header basica
result:
if success:
header:status.200|message:logout success
if unauthorized(未授权的)user access(访问) it ,data:
message:unauthorized user|status.400

2. Place地点

1.All Places[所有位置]
先判断令牌通过,如果通过展示数据库里所有地点信息
        请求方法:GET
        Header:header basic
        result:阵列上的所有数据;包括(包含) id、名称、纬度、经度、x、y、图像路径和描述。|status.200
        if unauthorized user access it ,data
                message:unauthorized user|status 401
       
2.find place [查找位置]:
描述:用于客户端获取(获得) 一个位置对象通过(通过) 地点ID。
请求方法:GET
Header:header basic
result:对象属性由id、名称、纬度、经度、x、y、图像路径和描述组成。|status.200

3.create place[新增位置]

创建地点(v1/place?token={AUTHORIZATION_token}),只有管理员可以访问此API描述:客户端可以创建新的地点对象。客户端的图像文件应上传到服务器。您可以使用表单(表、 窗体) 用于上传图像的数据。

请求方法:POST
Header:header basic
params:
name
latitude纬度
longitude经度
x
y       
image        
[description]描述
result:
if success:
message:create success|status-200
if failed:(失败)
message:Data cannot be processed|status-422
If unauthorized user access it, body(未经许可):
                        message:unauthorized user|status-40`
4.delete place[删除地址]
通过place ID删除地址
请求方法:DELETE
Header:header basic
result:
if success:
message:delete success|status.200
If failed:
                        message:Data cannot be deleted |status-400
If unauthorized user access it, data:
                        message:Unauthorized user|status 401

5.Update place[修改地址]

只有极权为管理员才有资格访问此Api,通过传过来的ID

        请求方法:POST

        Header: header authorization basic

        params:    

                - Body:
                O [name]
                O [latitude] 纬度
                O [longitude] 经度
                O [x]
                O [y]
                O [image]
                O [description]
        result:
if success:       
message:update success|status -200
If failed:
                        message:Data cannot be deleted |status-400
If unauthorized user access it, data:
                        message:Unauthorized user|status 401

3.Schedule时刻表,ps:只有管理员可以访问此APi

3.1创建计划,

客户端可以在数据库中创建计划,时间表表述了公共汽车/火车出发的时间和地点从一站到下一站

.

        请求类型:POST

        Header: header authorization basic

        params:对象:由(包含) 类型(公共汽车或火车)、线路、from_place_id,出发时间、到达时间、距离、速度

        result:       

                - If success,
                        O header: response status: 200
                        O body: message: create success
                - If failed,
                        O header: response status: 422
                        O body: message: Data cannot be processed
                - If unauthorized user access it,
                        O header: response status: 401
                        O body: message: Unauthorized user

 

                

3.2删除计划

删除计划(v1/schedule/{ID}?token={AUTHORIZATION_token}),只有管理员可以访问此API描述:删除现有(现有的) 时间表(时 刻表) 经由(通过) 给定日程ID。

        

   请求类型:DELETE

        Header: header authorization basic

        result:       

                - If success,
                        O header: response status: 200
                        O body: message: create success
                - If failed,
                        O header: response status: 422
                        O body: message: Data cannot be processed
                - If unauthorized user access it,
                        O header: response status: 401
                        O body: message: Unauthorized user

4.Route路线

4.1Route Search 行驶路径搜索

描述: 一项请求, 用于获取多条行驶路径建议 (从一个已给的车站 (出发/起始)
出发并到达另一个车站 (目的地/目标地点) ) 。默认情况下, 搜索要使用当前的
server 时间 。不过也允许一条可选择的出发时间来覆盖掉默认的 server 时间 。
搜索应该搜索那些在具体时间,从已给地点出发, 然后到达目的地点的行驶路径。
按照最早到达时间排序, 并限制到 5 条行驶路径结果。
行驶路径允许在同一车站换乘到不同的公共汽车/火车 。所有换乘要在同一车站才
能实现 。不需要考虑步行和最小换乘时间。

Request method: GET

Header: header authorization basic
Response result:
        - If success, data:
                O Array of routes. Each route contains :
        1 Number of history selection of this route.
        1 Array of schedules:
                id
                type 类型
                line 线路
                departure_time 出发时间
                arrival_time 到达时间
                travel_time 行驶时长
                from_place (出发地点) ; consist of id, name, longitude (经度) ,
                latitude (纬度) , x, y, description, image_path
                to_place (到达地点) ; consist of id, name, longitude (经度) ,
                latitude (纬度) , x, y, description, image_path
       O Response status: 200
                - If failed, data:
        O Message: Unauthorized user
        O Response status: 401

4.2保存路线选择历史

用于客户端保存用户选择的路由(用户选择的行驶路径) 进入系统。

 请求类型:POST

        Header: header authorization basic

        params:                

                - Body:
                        O from_place_id (出发地点)
                        O to_place_id (到达地点)
                       O schedule_id, array of schedule_id for the route (行驶路径时刻表)

        result:       

                - If success,
                        O header: response status: 200
                        O body: message: create success
                - If failed,
                        O header: response status: 422
                        O body: message: Data cannot be processed

数据库:

        数据库(第三范式和根据合适的情况使用参考约束)


http://www.ppmy.cn/news/481409.html

相关文章

CASIA FASD 3D-MAD database Print attack

哪位兄弟要是有这三个数据集 ,我可以有偿购买,邮箱是970851545qq.com,必有重谢。

中阳期货程序化交易模型

中阳期货是目前国内领先的金融期货交易公司之一,公司致力于构建程序化交易系统,实现高效的交易决策与执行。程序化交易系统基于量化模型,利用历史数据进行回测和验证,形成稳定的交易信号以制定交易策略。 中阳期货程序化交易模型包括三个模块:信号生成模块、交易控制模块和交易…

【verilog】多功能数字钟的设计

实验目的 掌握数字钟的工作原理。掌握计数器级联构成更大模值计数器的方法。 能用verilog描述简单的时序逻辑电路。 实验原理 多功能数字钟应该具有的基本功能有:显示时-分-秒、整点报时、小时和分钟可调等。首先要知道钟表的工作机理&…

全球主流智能手环传感器模块拆解大揭秘

如果说前几年消费电子市场的热点是是功能手机向智能机的转换过渡,那么近几年则逐渐偏移到智能设备的便携化、智能化。近年来,国内外豪杰纷纷聚 焦智能硬件,Google Glass问世,Galaxy Gear 接踵…… 今年9月份Apple Watch的亮相更是…

智能手环一些模块总结

该智能手环可实现实时显示日期,温湿度,心率,血压,计步消耗卡路里等功能。 首先介绍关于心率血压的测量模块介绍: 核心IC为HP-6,用于测量心率血压。 1)目前测量心率血压方法: 1.1…

【FPGA入门】第五篇、按键消抖

目录 第一部分、按键抖动现象 第二部分、消抖思路及代码 1、简单的按键消抖思路 2、实际按键消抖思路 3、实际按键消抖模块代码 第三部分、总结 第一部分、按键抖动现象 只要学习过单片机的都会知道,按键在按下去和松开的那个瞬间都存在抖动,在单片…

C# string.Format格式化字符串示例

字符 说明 示例 输出 C 货币 string.Format ("{0:C3}", 2) $2.000 D 十进制 string.Format ("{0:D3}", 2) 002 E 科学计数法 1.20E001 1.20E001 G 常规 string.Format ("{0:G}", 2) 2 N 用分号隔开的数字 string.Format ("{0:N}…

YOLOv5 VS YOLOv8

1 概述 YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本。 https://github.com/ultralytics/yolov5 https://github.com/ultralytics/ultralytics 2 网络结构 YOLOv5 N/S/M/L/X 骨干网络的通道数设置使用同一套缩放系数; YOLO…