Runnerly应用的架构设计与服务交互
1. 数据服务设计
1.1 应用架构概述
在新的应用架构中,Reports和Strava服务会从Redis获取部分工作,并与数据服务进行交互。数据服务是一个HTTP API,它封装了包含所有用户和跑步数据的数据库,而仪表盘则是实现HTML用户界面的前端。
1.2 数据服务API设计
数据服务视图需要实现以下API:
- 对于Strava服务:一个用于添加跑步记录的POST端点。
- 对于Reports服务:
- 一个用于检索用户ID列表的GET端点。
- 一个根据用户ID和月份获取跑步记录列表的GET端点。
我们希望尽可能减少暴露的入口点,并且只暴露尽可能少的字段。
1.3 使用Open API 2.0
Open API 2.0规范(也称为Swagger)是一种简单的描述语言,以JSON或YAML文件的形式呈现,它列出了所有HTTP API端点、它们的使用方式以及输入输出数据的结构。以下是一个最小的Open API描述文件示例,定义了一个 /apis/users_ids 端点,并支持使用GET方法检索用户ID列表:
swagger: "2.0"
info:
title: Runnerly Data Service
description: returns info about Runnerly
license:
name: APLv2
url: https://www.apa
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



