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
POST https://www.example.com/v1/users
用户登录:
1
POST https://www.example.com/v1/users/sessions
用户注销:
1
DELETE https://www.example.com/v1/users/sessions
获取用户信息:
1
GET https://www.example.com/v1/users/{user_id}
修改用户信息:
1
PUT https://www.example.com/v1/users/{user_id}
删除用户:
1
DELETE https://www.example.com/v1/users/{user_id}
获取所有用户信息:
1
GET https://www.example.com/v1/users?limit=20&offset=60
参考资料:阮一峰的Blog:RESTful API 设计指南
Hello,wrld!
在编写过程中发现了httpClient,先去学了一下这玩意,并且写了文章记录了一下就是下一篇文章。所以这篇还没写完就发出来了。我会尽快写出来的,待续。。。