Class GistsClient

java.lang.Object
ink.icoding.github4j.GithubClient
ink.icoding.github4j.client.GistsClient

public class GistsClient extends GithubClient
GitHub Gists API 客户端。

提供 Gist 的 CRUD 操作、星标管理、Fork 操作、评论管理、提交历史和修订版本等功能。

对应 GitHub REST API 文档: Gists

See Also:
  • Constructor Details

  • Method Details

    • list

      public Page<Gist> list(ListGistsOptions options)
      列出当前认证用户的 Gist 列表。

      API 端点: GET /gists

      Parameters:
      options - 列表选项(分页、since 时间戳),可为 null
      Returns:
      分页的 Gist 列表
    • listPublic

      public Page<Gist> listPublic(ListGistsOptions options)
      列出所有公开的 Gist。

      API 端点: GET /gists/public

      Parameters:
      options - 列表选项(分页、since 时间戳),可为 null
      Returns:
      分页的公开 Gist 列表
    • listStarred

      public Page<Gist> listStarred(ListGistsOptions options)
      列出当前认证用户星标的 Gist。

      API 端点: GET /gists/starred

      Parameters:
      options - 列表选项(分页、since 时间戳),可为 null
      Returns:
      分页的星标 Gist 列表
    • listForUser

      public Page<Gist> listForUser(String username, ListGistsOptions options)
      列出指定用户的 Gist。

      API 端点: GET /users/{username}/gists

      Parameters:
      username - 用户名
      options - 列表选项(分页、since 时间戳),可为 null
      Returns:
      分页的 Gist 列表
    • get

      public GithubResponse<Gist> get(String gistId)
      获取指定 Gist 的详细信息。

      API 端点: GET /gists/{gist_id}

      Parameters:
      gistId - Gist 的 ID
      Returns:
      Gist 详细信息
    • create

      public GithubResponse<Gist> create(CreateGistRequest request)
      创建一个新的 Gist。

      API 端点: POST /gists

      Parameters:
      request - 创建 Gist 的请求参数
      Returns:
      创建成功后的 Gist 信息
    • update

      public GithubResponse<Gist> update(String gistId, Map<String,Object> request)
      更新指定 Gist 的内容。

      API 端点: PATCH /gists/{gist_id}

      Parameters:
      gistId - Gist 的 ID
      request - 更新 Gist 的请求参数
      Returns:
      更新后的 Gist 信息
    • deleteGist

      public void deleteGist(String gistId)
      删除指定 Gist。

      API 端点: DELETE /gists/{gist_id}

      Parameters:
      gistId - Gist 的 ID
    • star

      public void star(String gistId)
      星标指定 Gist。

      API 端点: PUT /gists/{gist_id}/star

      Parameters:
      gistId - Gist 的 ID
    • unstar

      public void unstar(String gistId)
      取消星标指定 Gist。

      API 端点: DELETE /gists/{gist_id}/star

      Parameters:
      gistId - Gist 的 ID
    • isStarred

      public boolean isStarred(String gistId)
      检查当前认证用户是否已星标指定 Gist。

      API 端点: GET /gists/{gist_id}/star

      Parameters:
      gistId - Gist 的 ID
      Returns:
      如果已星标返回 true,否则返回 false
    • listForks

      public Page<Gist> listForks(String gistId)
      列出指定 Gist 的 Fork 列表。

      API 端点: GET /gists/{gist_id}/forks

      Parameters:
      gistId - Gist 的 ID
      Returns:
      分页的 Fork Gist 列表
    • fork

      public GithubResponse<Gist> fork(String gistId)
      Fork 指定 Gist 到当前认证用户的账户下。

      API 端点: POST /gists/{gist_id}/forks

      Parameters:
      gistId - Gist 的 ID
      Returns:
      Fork 成功后的 Gist 信息
    • listComments

      public Page<Comment> listComments(String gistId, PageOptions options)
      列出指定 Gist 的评论。

      API 端点: GET /gists/{gist_id}/comments

      Parameters:
      gistId - Gist 的 ID
      options - 分页选项,可为 null
      Returns:
      分页的评论列表
    • getComment

      public GithubResponse<Comment> getComment(String gistId, long commentId)
      获取指定 Gist 的单条评论。

      API 端点: GET /gists/{gist_id}/comments/{comment_id}

      Parameters:
      gistId - Gist 的 ID
      commentId - 评论的 ID
      Returns:
      评论详情
    • createComment

      public GithubResponse<Comment> createComment(String gistId, CreateCommentRequest request)
      为指定 Gist 创建评论。

      API 端点: POST /gists/{gist_id}/comments

      Parameters:
      gistId - Gist 的 ID
      request - 创建评论的请求参数
      Returns:
      创建成功后的评论信息
    • updateComment

      public GithubResponse<Comment> updateComment(String gistId, long commentId, UpdateCommentRequest request)
      更新指定 Gist 的评论。

      API 端点: PATCH /gists/{gist_id}/comments/{comment_id}

      Parameters:
      gistId - Gist 的 ID
      commentId - 评论的 ID
      request - 更新评论的请求参数
      Returns:
      更新后的评论信息
    • deleteComment

      public void deleteComment(String gistId, long commentId)
      删除指定 Gist 的评论。

      API 端点: DELETE /gists/{gist_id}/comments/{comment_id}

      Parameters:
      gistId - Gist 的 ID
      commentId - 评论的 ID
    • listCommits

      public Page<Map<String,Object>> listCommits(String gistId)
      列出指定 Gist 的提交历史。

      API 端点: GET /gists/{gist_id}/commits

      Parameters:
      gistId - Gist 的 ID
      Returns:
      分页的提交历史列表
    • getRevision

      public GithubResponse<Gist> getRevision(String gistId, String sha)
      获取指定 Gist 的特定修订版本。

      API 端点: GET /gists/{gist_id}/{sha}

      Parameters:
      gistId - Gist 的 ID
      sha - 提交的 SHA 哈希值
      Returns:
      该修订版本的 Gist 信息