RESTful

239 阅读2分钟
什么是前后端分离? 有哪些优点?

前后端分离是种架构模式,前端指的是生成HTML的那个服务,它可以是一个仅仅生成HTML的Web服务器,也可以是在浏览器中通过JS动态生成HTML的单页应用。实践中,有实力的团队往往在实现前后端分离时,前端选用node服务器,后端选用C#、Java等。一般来说后端负责提供数据接口,不再渲染模板,以json格式返回数据。前端与后端进行交互,得到需要数据并加以展示。

优点:

  1. 责任分离,谁擅长开发啥,让谁负责啥
  2. 前后端解耦,接口复用(前端和客户端公用接口),减少开发量
  3. 各司其职,前后端同步开发,提升工作效率。定义好接口规范
  4. 更有利于调度、测试和运维部署
如何设计RESTful API?
  1. 请求路径--以当前操作的资源作为url地址,一般使用复数
  2. 请求方法--以web请求方法作为资源操作动作,约定:增:POST 删:DELETE 改:PUT 查:GET
  3. 请求参数--根据api接口实现逻辑决定,一般是业务决定
  4. 请求响应--根据需求决定,一般返回都是json格式
@RequestMapping注解有什么作用?

@RequestMapping注释用于将Web请求映射到Spring Controller方法。你可以根据HTTP方法映射请求,例如GET,POST和其他各种参数。

例如, 如果使用Spring开发RESTful Web服务,则可以使用,生成和使用属性以及媒体注释,以指示此方法仅用于生成或使用JSON

同样,你可以创建其他处理程序方法来生成JSON或XNL。

@Cotroller和@RestController有什么区别?

@Controller和@RestController注解之间存在许多差异, 但最重要的是使用@RestController自动获取@ResponseBody注解,这意味着你不需要使用@ResponseBody注解单独处理程序方法。这使得使用Spring更容易开发RESTful Web服务。

你什么时候需要在Spring MVC中使用@ResponseBody注解?

@ResponseBody注释可以放在一个方法上,以指示返回类型应该直接写入HTTP响应主体(而不是放在模型中,或解释为视图名称)。或者,你也可以使用@RestController注解而不是@Contoller注解。这将消除使用@ResponseBody的需要,因为正如前面的答案中所讨论的,它会自动带有@RestController注解。

@PathVariable在Spring MVC中做了什么? 为什么它在REST中与Spring有用?

这是Spring MVC中有用的注解之一,它允许你从URI中读取值,例如查询参数。它在使用Spring创建RESTful Web服务时特别有用,因为在REST中,资源标识是URI的一部分。