zoukankan      html  css  js  c++  java
  • SpringBoot

    1. 简单示例

    	//http://localhost:8080/   
    	//requestBody:  {"people":{"name":"zhou","age":"123123"},"postCode":66666}
    	//header:   Content-Type:application/json
    	
    	@RestController
    	@EnableAutoConfiguration
    	public class Example {
    
    		@RequestMapping(value = "/", method = RequestMethod.POST)
    		People home(@RequestBody RequestParam requestParam) {
    			System.out.println(requestParam.getPostCode());
    			System.out.println(requestParam.getPeople().getName());
    
    			return new People();
    		}
    
    		public static void main(String[] args) throws Exception {
    			SpringApplication.run(Example.class, args);
    		}
    
    	}
    
    	class RequestParam {
    		private int postCode;
    
    		public int getPostCode() {
    			return postCode;
    		}
    
    		public void setPostCode(int postCode) {
    			this.postCode = postCode;
    		}
    
    		public People getPeople() {
    			return people;
    		}
    
    		public void setPeople(People people) {
    			this.people = people;
    		}
    
    		private People people;
    	}
    
    	class People {
    		private String name;
    		private int age;
    
    		public String getName() {
    			return name;
    		}
    
    		public void setName(String name) {
    			this.name = name;
    		}
    
    		public int getAge() {
    			return age;
    		}
    
    		public void setAge(int age) {
    			this.age = age;
    		}
    	}
    
    

    2. 相关注解

    2.2 @RequestMapping

    2.2.1 属性:value 指定请求的实际url

    @Controller
    @RequestMapping(value="/book")
    public class BookController {
    	@RequestMapping(value="/title")
    	public String getTitle(){
    		return "title";
    	}           
    	
    	@RequestMapping(value="/content")
    	public String getContent(){
    		return "content";
    	} 
    } 
    
    //@PathVariable注解即提取路径中的变量值
    	@RequestMapping(value="/get/{bookId}")
    	public String getBookById(@PathVariable String bookId,Model model){
    		model.addAttribute("bookId", bookId);
    		return "book";
    	} 
    
    (3)ant风格
    	@RequestMapping(value="/get/id?"):可匹配“/get/id1”或“/get/ida”,但不匹配“/get/id”或“/get/idaa”;
    	@RequestMapping(value="/get/id*"):可匹配“/get/idabc”或“/get/id”,但不匹配“/get/idabc/abc”;
    	@RequestMapping(value="/get/id/*"):可匹配“/get/id/abc”,但不匹配“/get/idabc”;
    	@RequestMapping(value="/get/id/**/{id}"):可匹配“/get/id/abc/abc/123”或“/get/id/123”,也就是Ant风格和URI模板变量风格可混用。
    (4)含正则表达式的一类值
    	@RequestMapping(value="/get/{idPre:\d+}-{idNum:\d+}"):可以匹配“/get/123-1”,但不能匹配“/get/abc-1”,这样可以设计更加严格的规则。
    	可以通过@PathVariable 注解提取路径中的变量(idPre,idNum)
    (5)或关系
    	@RequestMapping(value={"/get","/fetch"} )即 /get或/fetch都会映射到该方法上	
    

    2.2.2 属性:method 指定请求类型,GET/POST

    @RequestMapping(value="/get/{bookid}",method={RequestMethod.GET,RequestMethod.POST})
    

    2.2.3 属性:params 必须包含某些参数值是,才让该方法处理

    @RequestMapping(params="action=del"),请求参数包含“action=del”,如:http://localhost:8080/book?action=del
    

    2.2.4 属性:headers 必须匹配指定header值

    @RequestMapping(value="/header/id", headers = "Accept=application/json"):表示请求的URL必须为“/header/id 且请求头中必须有“Accept =application/json”参数即可匹配。
    

    2.2.5 属性: consumes 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html

    @RequestMapping(value = "/pets", method = RequestMethod.POST, consumes="application/json")
    

    2.2.6 属性:produces 仅当request请求头中的(Accept)类型中包含该指定类型才返回

    @RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, produces="application/json")
    

    2.3 @RequestParam 解析获取单个请求参数值

    	public String requestparam1(@RequestParam String username)	//请求中包含username参数(如/requestparam1?username=zhang),则自动传入。
    	
    	@RequestParam有以下三个参数:
    		value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;
    		required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将抛出异常;
    		defaultValue:默认值,表示如果请求中没有同名参数时的默认值,设置该参数时,自动将required设为false
    

    2.4 @PathVariable 绑定URL模板变量值

    @RequestMapping(value="/users/{userId}/topics/{topicId}")
    public String test(
           @PathVariable(value="userId") int userId, 
           @PathVariable(value="topicId") int topicId)   
    

    2.5 @RequestBody 将HTTP请求正文转换为适合的对象

    2.6 @ResponseBody

    该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区
    
  • 相关阅读:
    Luogu 2254 [NOI2005]瑰丽华尔兹
    Luogu 3168 [CQOI2015]任务查询系统
    Luogu U15118 萨塔尼亚的期末考试(fail)
    POJ 2778 DNA Sequence AC自动机 + 矩阵快速幂
    HDU 2457 DNA repair AC自动机 + dp
    POJ 3522 Slim Span 暴力枚举 + 并查集
    POJ 2955 Brackets 区间dp
    hdu 2604 Queuing dp找规律 然后矩阵快速幂。坑!!
    UESTC
    java & SQL
  • 原文地址:https://www.cnblogs.com/Desneo/p/7647760.html
Copyright © 2011-2022 走看看