了解 Atlas Go SDK 的概念
简介
您可以使用Atlas Go SDK 从Atlas Admin API获取或修改数据。 Atlas Go SDK 非常灵活,因为它接受多种不同类型的参数。
从后端获取数据
要获取数据,可以执行 {Api}.{Operation}WithParams()
方法:
// Surrounding code omitted for brevity // 1. Calling API method request := sdk.ProjectsApi.ListProjectsWithParams(ctx, // 2. Passing a struct with all optional query parameters to the request &admin.ListProjectsApiParams{ ItemsPerPage: admin.PtrInt(1), IncludeCount: admin.PtrBool(true), PageNum: admin.PtrInt(1), }) // 3. You can also supply values in requests using individual methods // This can be helpful when passing request objects to other methods. projects, response, err := request.ItemsPerPage(10).Execute() examples.HandleErr(err, response)
或者,您可以结合使用较短的{Operation}()
方法和构建器模式来提供所有参数:
// Surrounding code omitted for brevity projects, response, err := sdk.ProjectsApi.ListProjects(ctx).ItemsPerPage(1).Execute()
注意: Atlas Go SDK 需要路径参数,并且必须直接在{Operation}()
方法中提供这些参数。
注意: Atlas Go SDK 为查询和帖子对象提供默认值。
执行数据修改
使用{Operation}()
方法执行修改。 示例:
// Surrounding code omitted for brevity groupInvitationRequest := admin.NewGroupInvitationRequest() resp, r, err := sdk.ProjectsApi.CreateProjectInvitation(context.Background(), groupId, groupInvitationRequest).Execute()
只读和只写字段
每个 SDK请求和响应都可能包含 文档 中指定的只读或只写字段 以及Go文档注释。
我们使用 GoDoc 注释将字段注释为只读和写入:
// Read Only field.
表示该字段包含在响应中,但不包含在请求中// Write Only field.
表示该字段可以包含在请求中,但不能包含在响应中
例子
要学习;了解有关使用 SDK 的更多信息,请参阅 基本示例。
发布策略(语义版本控制)
Atlas Go SDK 遵循语义版本控制 (SemVer) 规范。 此 SDK 使用的版本控制方案如下: vYYYYMMDDXXX.Y.Z
,其中:
YYYYMMDDXXX
代表主版本号。 它包括 SDK 使用的版本化API 资源版本的日期,后跟表示其他可能的重大更改的三位数字。Y
表示次要版本号,表示同一版本化API资源的不间断迭代。Z
代表补丁版本号,表示 SDK 中不影响用户的修复。
版本控制规则
主要版本 (vYYYYMMDDXXX. 0.0 )
主要版本增量表示 SDK 中的重大更改。 主要版本增量规则如下:
主要版本必须包含版本化 API 的日期以及其他可能的重大更改的三位数字。
引入新的版本化 API 资源版本时,SDK 会发生重大更改,并且版本标识符会递增。 例如,如果主要版本是在一年后发布的,则
vYYYYMMDD
将变为v20300101
。如果 SDK 中还有其他与版本化API无关的重大重大更改,请递增主要版本的最后三位数字。
次要版本 (vYYYYMMDDXXX.Y. 0 )
次要版本增量表示基于目标版本化API迭代的Atlas Go SDK发布。 当MongoDB向 SDK 添加向后兼容之前次要版本的新功能或增强功能时,请递增次要版本。
补丁版本 (vYYYYMMDDXXX.YZ)
补丁版本增量表示 SDK 中不影响用户的修复和改进。
示例版本:v20230201001.0.0
让我们对示例版本v20230201001.0.0
进行分解,以了解其组件:
主要版本:
v20230201001.0.0
v
:表示版本号的开始。20230201
:此 SDK 正在使用的版本化 API 版本的日期,格式为YYYYMMDD
。001
从001开始,并在每次针对特定API资源版本的非向后兼容迭代中递增1 。
版本v20230201001.0.0
代表版本化 的Go SDK 库于API 2 月1 2023的初始发布,没有其他重大更改、迭代或修复。