加粗快捷键 cmd+b
斜体 cmd+i
分割线 cmd+u
编号列表: cmd+shift+o
无编号列表 cmd+shift+u
待办事项 cmd+shift+T
代码块 cmd+shift+P
System.out.println("hello world");
rest是一种http协议的风格,在互联网时代这种风格在微服务中流行起来了,客户端对微服务,微服务之间交互;
REST 全称 Representational state Transfer 表现层状态转换;是一种软件架构原则;
请求方法 | 动作 |
---|---|
GET | 查询 |
POST | 新增 |
PUT | 修改全部 |
PATCH | 修改部分 |
DELETE | 删除 |
@RequestMapping是通用的url配置注解,为了支持rest,springboot引入了更多的注解;
注解 | 方法 | 说明 |
---|---|---|
@GetMapping | GET | 查询 |
@PostMapping | POST | 新增 |
@PutMapping | PUT | 修改全部 |
@PatchMapping | PATCH | 修改部分 |
@DeleteMapping | DELETE | 删除 |
springmvc返回结果的流程有两种:
springMVC容器启动的时候,默认注册了两个HttpMessageConverter,即:
1.StringHttpMessageConverter; 按照字符串输出;(produces=Text_plan_value)
2.MappingJackson2HttpMessageConverter;按照json字符串输出;(produces=xxxjson)
如果按照请求类型,找不到对应的HttpMessageConverter,则会流转到 ContentNegotiatingViewResolver,对结果进行解析;
springmvc内置了如下的视图解析器:
@ResponseStatus注解标注在控制器方法上,可以设置响应状态码;
ResponseEntity对象也可以设置响应状态码和响应头信息;
统一异常处理
可以在@ExceptionHandler标注的异常处理方法上,标注@ResponseStatus,统一设置异常返回的响应状态码;
为了完成微服务系统之间的REST调用,springMvC提供了 RestTemplate,它的底层是使用HttpURLConnection实现的;
public static void testGet(){ RestTemplate restTemplate = new RestTemplate(); String url = "https://xxx.yyy.com/tiananuser_service/testNewUser/new/{plat}/{start}/{end}?requestId=x"; Map<String, Object> params = new HashMap<>(3); params.put("plat",0); params.put("start","2019-12-20"); params.put("end","2020-01-06"); final ResponseEntity<Object> responseEntity = restTemplate.getForEntity(url, Object.class, params); System.out.println("responseEntity.getStatusCodeValue() : "+ responseEntity.getStatusCodeValue()); System.out.println("responseEntity.getBody() : "+ responseEntity.getBody()); }
原创不易,转载请注明出处,欢迎沟通交流。