控制器类及实现数据请求与响应的注解
控制器类注解
@Controller
@Controller是控制器类的第一个注解,这被称为stereotype annotation,表示当前的类为控制器,用来响应页面。@RestController是@ResponseBody和@Controller的结合,表明当前类是控制器且返回的是一组数据,不是页面。在这里,我们的类是一个web @RestController,所以Spring在处理传入的Web请求时会考虑这个类。

@Autowired
@Autowired注解的作用是将其他的类、接口引入,类似于之前的类的初始化等,使用此注解,即可实现类中或接口的方法直接调用。
@RequestMapping
@RequestMapping注解提供“路由”信息。 告诉Spring,任何具有路径“/host”的HTTP请求都应映射到HostController类中的方法。 @RestController注解告诉Spring将生成的字符串直接返回给调用者。
HTTP请求方法
HTTP请求方法一共有9种,为 GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT,以下着重讲解GET、POST和PUT请求方式。
GET:主要用于获取资源,本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。 即GET请求只用来向服务器获取资源,而GET请求本身不应该携带任何呈现数据。
POST:主要用于传输实体文本,向指定资源提交数据进行处理请求。数据被包含在POST请求体中(例如提交表单或者上传文件)。POST 请求可能会导致新的资源的建立或已有资源的修改。
PUT:用于从客户端向服务器传达的数据取代指定的文档内容。与POST类似,通常用于对资源数据的更新修改。
处理响应请求的常用注解
@GetMapping
该注解用于将GET请求映射到控制器处理方法上。具体来说,@GetMapping是一个作为快捷方式的组合注解等价于@RequestMapping(method = RequestMethod.GET)。

若参赛者想要查看本“校园赛事活动平台”系统里所有已审核通过的活动,通过路径“/activity/findAllActivity”访问到此方法,最后将处理结果List<Activity>返回到客户端。
@PostMapping
该注解用于将POST请求映射到控制器处理方法上。具体来说,@PostMapping是一个作为快捷方式的组合注解等价于@RequestMapping(method = RequestMethod.POST)。

当“校园赛事活动平台”需要注册主办方用户时,在客户端通过post的方式访问路径“/host/register”将主办方的注册信息提交到register2()方法,最后将处理结果RestBean对象返回至客户端。
@RequestMapping
该注解用于将任意HTTP 请求映射到控制器方法上。@RequestMapping表示共享映射,如果没有指定请求方式,将接收GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT所有的HTTP请求方式。@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping 都是HTTP方法特有的快捷方式@RequestMapping的变体。@RequestMapping 注解可以在控制器类的级别或其中的方法的级别上使用,即在类的级别上的注解会将一个特定请求或者请求模式映射到一个控制器之上。之后还可以另外添加方法级别的注解来进一步指定到处理方法的映射关系。需要注意的是,大多数控制器方法都应该映射到一个特定的HTTP方法,而不是使用@RequestMapping共享映射。
将控制器方法映射到一个特定的HTTP方法上,应用@GetMapping、@PostMapping。通常,这样代码更规范,组合注解对控制器方法的请求映射进行具体区分,减少了在应用程序上要配置的元数据,并且代码也更易读,有助于控制器对请求的快速匹配以及代码功能区分等。

浙公网安备 33010602011771号