构建一个没有框架的 REST API
Build a REST API with no frameworks
我想用 REST API back-end 和 angularJs 作为 front-end.
建立一个网站
我在构建这样的东西时一直使用框架,但我从来没有过多关注这些框架是如何构建的(没有很多空闲时间)。
我已经启动了一个新项目,该项目将托管在 Google App Engine 上,我构建了一些必要的东西,例如:
- 路由器处理程序
- 用于检查 Header(content-type) 的中间件和一个设置响应编写器类型的中间件,也是一个错误中间件。
- 包含所有错误的错误文件。
我可能需要为身份验证系统编写更多的中间件。
REST 服务器中还需要有哪些其他内容?
事实上,这取决于你想为你的 API 支持什么 ;-) 我看到这样的事情:
- 路由(路由和子路由、过滤器和处理链)
- 资源路径变量(/myresource/{anid}...)
- 查询参数
- Conneg(基于接受头的返回内容协商)
- 支持一种或多种内容类型(JSON、XML、...)。像Jackson2这样的框架在这里可以派上用场(实现一个完整高效的bean/结构化内容转换是痛苦的)
- 安全性(基本的、基于令牌的……)
- 错误处理
也许这两个链接可以帮助您获得进一步的提示:
- API 设计:https://templth.wordpress.com/2014/12/15/designing-a-web-api/
- API 安全性:https://templth.wordpress.com/2015/01/05/implementing-authentication-with-tokens-for-restful-applications/
希望对您有所帮助。
蒂埃里
我想用 REST API back-end 和 angularJs 作为 front-end.
建立一个网站我在构建这样的东西时一直使用框架,但我从来没有过多关注这些框架是如何构建的(没有很多空闲时间)。
我已经启动了一个新项目,该项目将托管在 Google App Engine 上,我构建了一些必要的东西,例如:
- 路由器处理程序
- 用于检查 Header(content-type) 的中间件和一个设置响应编写器类型的中间件,也是一个错误中间件。
- 包含所有错误的错误文件。
我可能需要为身份验证系统编写更多的中间件。
REST 服务器中还需要有哪些其他内容?
事实上,这取决于你想为你的 API 支持什么 ;-) 我看到这样的事情:
- 路由(路由和子路由、过滤器和处理链)
- 资源路径变量(/myresource/{anid}...)
- 查询参数
- Conneg(基于接受头的返回内容协商)
- 支持一种或多种内容类型(JSON、XML、...)。像Jackson2这样的框架在这里可以派上用场(实现一个完整高效的bean/结构化内容转换是痛苦的)
- 安全性(基本的、基于令牌的……)
- 错误处理
也许这两个链接可以帮助您获得进一步的提示:
- API 设计:https://templth.wordpress.com/2014/12/15/designing-a-web-api/
- API 安全性:https://templth.wordpress.com/2015/01/05/implementing-authentication-with-tokens-for-restful-applications/
希望对您有所帮助。 蒂埃里