第一个子阶段的项目说明在下面列出,首要任务是创建一个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)描述:供客户端获取(获得) 通过登录令牌(通过) 用户名和密码请求方法:POSTHeader:header authorization basicRequested params:Body:username,passwordRequest result:if success:header:status.200令牌`:授权令牌(在注销前有效)。令牌将由系统根据登录的用户名生成(登录后的 用户名),使用md5加密方法[不会]if username/password not correct or emptyheader:status 401body:invalid login
)注销(v1/auth/Logout?令牌={AUTHORIZATION_token})说明:服务器使用户的令牌无效(使 用户令牌无效)请求方法:GETHeader:header basicaresult:if success:header:status.200|message:logout successif unauthorized(未授权的)user access(访问) it ,data:message:unauthorized user|status.400
2. Place地点
先判断令牌通过,如果通过展示数据库里所有地点信息请求方法:GETHeader:header basicresult:阵列上的所有数据;包括(包含) id、名称、纬度、经度、x、y、图像路径和描述。|status.200if unauthorized user access it ,datamessage:unauthorized user|status 401
描述:用于客户端获取(获得) 一个位置对象通过(通过) 地点ID。请求方法:GETHeader:header basicresult:对象属性由id、名称、纬度、经度、x、y、图像路径和描述组成。|status.200
3.create place[新增位置]
创建地点(v1/place?token={AUTHORIZATION_token}),只有管理员可以访问此API描述:客户端可以创建新的地点对象。客户端的图像文件应上传到服务器。您可以使用表单(表、 窗体) 用于上传图像的数据。
请求方法:POSTHeader:header basicparams:namelatitude纬度longitude经度xyimage[description]描述result:if success:message:create success|status-200if failed:(失败)message:Data cannot be processed|status-422If unauthorized user access it, body(未经许可):message:unauthorized user|status-40`
通过place ID删除地址请求方法:DELETEHeader:header basicresult:if success:message:delete success|status.200If failed:message:Data cannot be deleted |status-400If 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 -200If failed:message:Data cannot be deleted |status-400If 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: 200O body: message: create success- If failed,O header: response status: 422O body: message: Data cannot be processed- If unauthorized user access it,O header: response status: 401O 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: 200O body: message: create success- If failed,O header: response status: 422O body: message: Data cannot be processed- If unauthorized user access it,O header: response status: 401O body: message: Unauthorized user
4.Route路线
4.1Route Search 行驶路径搜索
Request method: GET
Header: header authorization basicResponse result:- If success, data:O Array of routes. Each route contains :1 Number of history selection of this route.1 Array of schedules:idtype 类型line 线路departure_time 出发时间arrival_time 到达时间travel_time 行驶时长from_place (出发地点) ; consist of id, name, longitude (经度) ,latitude (纬度) , x, y, description, image_pathto_place (到达地点) ; consist of id, name, longitude (经度) ,latitude (纬度) , x, y, description, image_pathO Response status: 200- If failed, data:O Message: Unauthorized userO 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: 200O body: message: create success- If failed,O header: response status: 422O body: message: Data cannot be processed
数据库:
数据库(第三范式和根据合适的情况使用参考约束)