发布于 

Gin框架学习记录:前期准备工作

好久没写代码了,跑来打算来写点什么发现自己什么都不记得了。想着要是以前写了记录就好了。但是自己写这种笔记很没有条理,总是写到一半就不知道怎么写下去了。这次用了GPT给我生成了大纲,我再尝试一次吧。这次就不搞什么很麻烦的东西了,先用个TodoList来练练手吧。

Http请求方法与RESTful风格的API

Gin的API风格推荐使用的是RESTful风格。在我使用的过程中感觉取名字和设计方面什么的比较麻烦,但是在理解和管理方面还是挺有舒服的。我还是挺喜欢这API风格的。

规范的RESTful风格的API中是不使用动词的,只能使用名词来表示我们的API要对什么对象进行操作。因为我们操作的对象是一个集合,所以使用的名词应该使用复数。而具体的操作我们可以使用HTTP请求方法来表示。我们常用的HTTP请求方法有以下几种:

  • Get:在Server中获取数据;
  • Post:在Server中新建数据;
  • Put:在Server中修改数据,Client提供整个数据;
  • Patch:在Server中修改数据,Client只提供要修改的数据;
  • Delete:在Server中删除数据。

了解了HTTP请求方法后我们就可以举几个例子来更清楚理解RESTful风格的API,我们使用一个用户管理的API来做实例。RESTful风格的API若后续会继续进行维护应由其对于的版本开头,所以例子中是以v1开头。再看我们的操作对象是用户,所以第二层路径应该是users。其中用户的登录与注销本质是一个Server与Client之间建立的会话(session),所以第三层路径使用sessions。而用户信息的获取、修改以及账户的删除是对指定的账户进行操作,所以第三层路径使用需要被操作用户的ID。最后是获取所有用户时由于用户数量可能过于庞大,不能一次性返回。对于这种情况可以给其添加参数来解决。比如例子中需要返回20个用户数据,则将limit设置为20发送至服务端即可。若有多个参数可以使用&进行连接。HTTP请求方法则是根据CRUD的操作来分别选择使用上述举例的几种方法。

  1. 用户注册

    1
    POST    https://www.example.com/v1/users
  2. 用户登录

    1
    POST    https://www.example.com/v1/users/sessions
  3. 用户注销

    1
    DELETE    https://www.example.com/v1/users/sessions
  4. 获取用户信息

    1
    GET        https://www.example.com/v1/users/{user_id}
  5. 修改用户信息

    1
    PUT        https://www.example.com/v1/users/{user_id}
  6. 删除用户

    1
    DELETE    https://www.example.com/v1/users/{user_id}
  7. 获取所有用户信息

    1
    GET        https://www.example.com/v1/users?limit=20&offset=60

参考资料:阮一峰的Blog:RESTful API 设计指南

Hello,wrld!

在编写过程中发现了httpClient,先去学了一下这玩意,并且写了文章记录了一下就是下一篇文章。所以这篇还没写完就发出来了。我会尽快写出来的,待续。。。