Redish101 / reblog

基于go的自托管博客系统
https://reblog-docs.vercel.app
GNU General Public License v3.0
15 stars 3 forks source link

refactor: formdata to json #26

Closed Redish101 closed 3 months ago

Redish101 commented 3 months ago

后端虽兼容json与formData两种请求体,但dashboard和themekit默认使用formData,但formData疑似会导致vercel环境下405错误,此pr将dashboard与themekit中的请求体改为json。

Summary by CodeRabbit

vercel[bot] commented 3 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
reblog-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 25, 2024 8:15am
coderabbitai[bot] commented 3 months ago

[!WARNING]

Rate limit exceeded

@Redish101 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 11 minutes and 22 seconds before requesting another review.

How to resolve this issue? After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR. We recommend that you space out your commits to avoid hitting the rate limit.
How do rate limits work? CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our [FAQ](https://coderabbit.ai/docs/faq) for further information.
Commits Files that changed from the base of the PR and between b2ec7b65fec6903ec2747e98fedd6a278e76047d and 59674488bb8248c365583554fcf465690fcd6f5b.

Walkthrough

此次更改显著优化了API文档结构,所有请求参数都集中到单个对象中,替代了之前的formData。这种结构化的方式提升了API的可读性和可维护性,通过引入详细的schema定义,使得接口使用更为明确,开发者更易理解和实现所需参数。

Changes

文件 更改摘要
internal/docs/docs.go 更新参数定义,从formData改为使用带schema的body参数,添加多个新schema定义。
internal/docs/swagger.json 转换多个API端点参数为结构化的body参数,集中在特定schema中,提高API文档的清晰度和可维护性。
internal/docs/swagger.yaml 添加新的请求和响应参数结构,利用body格式替代formData,提高参数定义的清晰性和严谨性。
packages/dashboard/src/pages/article/*.tsx 将文章创建和编辑请求中的formData替换为结构化的data对象。
packages/dashboard/src/pages/friend/*.tsx 更新好友管理功能,直接发送values对象,简化提交处理。
packages/dashboard/src/pages/init.tsx 简化表单提交,直接使用values对象。
packages/dashboard/src/pages/login.tsx 更新请求体,从formData改为values对象。
packages/dashboard/src/pages/site/index.tsx 提交表单时直接发送一个简单对象,替换FormData
packages/dashboard/src/utils/fetcher.ts useApi函数签名更新,接受更灵活的opts参数。
packages/themekit/package.json 更新@reblog/themekit包的版本号从0.1.30.1.4
packages/themekit/src/utils/api.ts post方法的body参数类型从FormData更新为any,提高输入处理的灵活性。
server/handler/*.go 多个处理函数中参数大幅简化,统一为结构化的body参数,更新文档以反映新结构。

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant API
    participant Database

    Client->>API: 发送请求 (带有结构化主体)
    API->>Database: 查询或更新数据
    Database-->>API: 返回结果
    API-->>Client: 返回响应

🐇 在月光下跳跃欢快,
API更新如春风般,
参数整齐无需愁,
清晰结构共欢笑!
数据流畅如小溪,
开发者乐无比!
让我们一起庆祝这些变化! 🎉


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.