Spring boot中Controller的使用
一、请求及路径映射部分注解介绍
? ? ? ? ? ???1、@Controller的使用(了解)相当于serverlet的jsp,前后端不分离的开发,就模板而言很好性能,所以提倡前后端分离式的开发,这里我就不啰嗦了。 接着再来演示下,这个注解的使用,必须配合模板来使用,首先在pom文件中添加如下依赖: <dependency> groupId>org.springframework.boot</artifactId>spring-boot-starter-thymeleaf> > 说明:这里的spring boot版本必须为1.4.1,否则使用模板时,不显示页面,报错404 parent> > >spring-boot-starter-parentversion>1.4.1.RELEASErelativePath/> <!-- lookup parent from repository --> > 在src/main/resources/templates/下, 创建一个名为index的html文件,写入内容如下: h1>hello,Spring boot!> 编写Controller,示例如下: package com.rongrong.springboot.demo; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; /** * @author rongrong * @version 1.0 * @description: * @date 2019/12/28 21:32 */ @Controller public class HtmlController { @RequestMapping(value = "/say",method = RequestMethod.GET) public String index(){ return "index"; } } 启动项目,访问页面:http://localhost:8888/say,显示结果如下: ? ? ?2、@RestController的使用@RestController在实际开发中应用广泛,与@controller相比,不依赖于模板,前后端分离式的开发,开发效率也很高。 3、@RequestMapping的使用该注解既可以在类上方使用,又可以方法上使用,在类上方使用,如在该处添加,接口访问时采取路径拼接方式访问,如:localhost:8888/spring/hellow 示例代码如下: org.springframework.beans.factory.annotation.Autowired; org.springframework.web.bind.annotation.RequestMapping; org.springframework.web.bind.annotation.RequestMethod; org.springframework.web.bind.annotation.RestController; 1.0 * @description: * @date 2019/12/26 20:34 @RestController * 在类上方使用,如在该处添加,接口访问时采取路径拼接方式访问 * 如:localhost:8888/spring/hellow @RequestMapping("/spring") HellowController { @Autowired Person person; //在方法 上方使用 @RequestMapping(value = "/hellow",1)"> String say(){ return person.getGName(); } } 访问接口地址:http://localhost:8888/spring/hellow,具体效果如下: ? ? ? 二、请求参数及组合注解介绍
? ? ? ?1、@PathVariable的使用一般在restful风格接口使用居多,形式为:/路径/{变量} 具体示例如下: Restful风格接口 @RequestMapping(value = "/getID/{id}",1)">public String getID(@PathVariable("id") Integer id) { return "Id:"+id; } 访问示例:http://localhost:8888/spring/getID/1,效果如下: ? ? ?2、@RequestParam使用?为传统风格形式使用,具体示例如下: * * 传统方式接口 * @RequestParam(value = "id",required = false,defaultValue = "0") * value为传入字段名,required为true时必须传参,defaultValue为传入参数默认值 * @param id * @return @RequestMapping(value = "/getMyId",1)">public String getMyId(@RequestParam(value = "id",required = false,defaultValue = "0"return "getMyId: t"+id; } 访问示例:http://localhost:8888/spring/getMyId?id=1,效果如下: ? ? ?3、组合注解及多个路径可以访问同一个接口@GetMapping可以理解为@RequestMapping,具体示例如下: * 组合注解及多个路径可以访问同一个接口 * @GetMapping({"/getUserId","/sayhi"}) @RequestMapping(value = "/getMyId",method = RequestMethod.GET) public String getUserId(@RequestParam(value = "id",1)">id; } 访问示例: http://localhost:8888/spring/getUserId?id=1, http://localhost:8888/spring/sayhi?id=1 效果如下: ? ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |