在 Spring Boot 中为生产代码创建 REST 服务、示例、模板的规则
Rules of creating REST services, examples, templates to production code in Spring Boot
欢迎,这是我关于 Stack 的第一个问题,大家好。
我是 Spring Boot 和 REST API 的新手,我必须使用良好的项目模板(包、类、接口)和良好的项目模式来创建项目,但我从未在 SpringBoot.js 中看到任何 REST 项目。在这种情况下,我想请您描述 REST Api 的一些良好习惯、规则、模式和示例,以从中获取一些数据并测试一些使用案例。如果能提供来自 github 的源代码示例或教程链接,我将不胜感激。
最后的小问题:
1) 当请求没有结果时,api 的行为应该如何?空白页或页眉状态错误或其他?
2) 当请求错误(不存在)时 api 的行为应该如何?
感谢您的回复和问候,
卡米尔
Spring 只是为了以 Spring 的方式提供 REST。从哲学上讲,REST 没有任何意义。它不是专门为 REST 设计的,而是为支持良好的 REST 设计而设计的。
一般而言,良好的 REST 设计需要考虑的一些事项是:
REST 的 3 个级别:
Richardson Maturity Model
Three Levels of the REST Maturity Model
附带一些代码示例:
ETags for REST with Spring
至于return结果为空,是错误吗?找不到东西是例外吗?如果不是,请不要引发异常和 return 错误。您 return 的内容取决于您想如何处理搜索 return 什么都没有的异常情况。您可以 return 一个 404 并进行一些简单的 JSON 解释,但 404 不需要任何解释。
请求一个不存在的端点是显而易见的,请求甚至不会到达你,因为服务器会 return 404。
'error' 的问题通常取决于 REST 代表的域。什么也找不到的搜索不是错误。当域没有 'name' 字段时搜索 'name' 字段是客户端错误和异常。
所以基本上有3个方面需要研究。
- 一般 REST 概念(动词、级别、超媒体等)
- Spring 如何支持这些 REST 概念
- 当客户端通过您的 REST 端点与您的域交互时,如何 return 响应(JSON、XML?)和处理错误
欢迎,这是我关于 Stack 的第一个问题,大家好。
我是 Spring Boot 和 REST API 的新手,我必须使用良好的项目模板(包、类、接口)和良好的项目模式来创建项目,但我从未在 SpringBoot.js 中看到任何 REST 项目。在这种情况下,我想请您描述 REST Api 的一些良好习惯、规则、模式和示例,以从中获取一些数据并测试一些使用案例。如果能提供来自 github 的源代码示例或教程链接,我将不胜感激。 最后的小问题:
1) 当请求没有结果时,api 的行为应该如何?空白页或页眉状态错误或其他?
2) 当请求错误(不存在)时 api 的行为应该如何?
感谢您的回复和问候,
卡米尔
Spring 只是为了以 Spring 的方式提供 REST。从哲学上讲,REST 没有任何意义。它不是专门为 REST 设计的,而是为支持良好的 REST 设计而设计的。
一般而言,良好的 REST 设计需要考虑的一些事项是:
REST 的 3 个级别:
Richardson Maturity Model
Three Levels of the REST Maturity Model
附带一些代码示例:
ETags for REST with Spring
至于return结果为空,是错误吗?找不到东西是例外吗?如果不是,请不要引发异常和 return 错误。您 return 的内容取决于您想如何处理搜索 return 什么都没有的异常情况。您可以 return 一个 404 并进行一些简单的 JSON 解释,但 404 不需要任何解释。
请求一个不存在的端点是显而易见的,请求甚至不会到达你,因为服务器会 return 404。
'error' 的问题通常取决于 REST 代表的域。什么也找不到的搜索不是错误。当域没有 'name' 字段时搜索 'name' 字段是客户端错误和异常。
所以基本上有3个方面需要研究。
- 一般 REST 概念(动词、级别、超媒体等)
- Spring 如何支持这些 REST 概念
- 当客户端通过您的 REST 端点与您的域交互时,如何 return 响应(JSON、XML?)和处理错误