Diretório do artigo
- comentário SpringMVC
- ① @ RequestHeader, @ CookieValue
- ② @ RequestBody
- pedido ③restful
- arquivo de configuração do mapeamento anotação ④SpringBoot
- json comentário quadro comum
- arquivo de configuração do mapeamento anotação SpringBoot
- bandeira personalizada
- Manipulação de exceção
- projeto SpringBoot embalado em pacote de guerra
comentário SpringMVC
① @ RequestHeader, @ CookieValue
@RequestMapping("/test")
public void test(@RequestHeader("host") String host,@CookieValue("JSESSIONID" String cookie)){}
@RequestHeader
Ele pode ser a Request header
porção de valor limitado para os parâmetros do método. @CookieValue
Você pode colocar Request header
em on cookie
o valor da ligação.
② @ RequestBody
O mapeamento de classe entidade de solicitação corpo, necessidade de especificar http header
em content-type
quantoapplication/json charset=utf-8
pedido ③restful
cenários de uso | |
---|---|
@GetMapping |
inquérito |
@PostMapping |
novo |
@PutMappiing |
modificação |
@DeleteMapping |
Excluir |
arquivo de configuração do mapeamento anotação ④SpringBoot
Os perfis de digitalização Nota:@PropertySource({"classpath:resource.properties"})
atributos de mapeamento:@Value("${test.name}")
json comentário quadro comum
O campo especificado não retorna:@JsonIgnore
Especificada formato de data:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")
campos vazios não são devolvidos:@JsonInclude(Include.NON_NUll)
Alias:@JsonProperty
arquivo de configuração do mapeamento anotação SpringBoot
Os perfis de digitalização Nota:@PropertySource({"classpath:resource.properties"})
atributos de mapeamento:@Value("${test.name}")
bandeira personalizada
springboot
O início padrão banner
abaixo mostra
Podemos modificar esta banner
informação, adicionar um perfil, e em seguida, especifique spring-banner-location
o valor padrão:classpath:banner.txt
modificado:
Manipulação de exceção
A exceção personalizada manipulação aulas, uso @RestControllerAdvice
ou @ControllerAdvice
usando um @ExceptionHandler
captura exceções, o tratamento de exceção dá-lo de duas maneiras, uma é para retornar JSON de dados, ea segunda é retornar uma página de erro.
@RestControllerAdvice
public class CustomExtController {
//捕获全局异常,返回json数据
@ExceptionHandler(value = Exception.class)
Object handleException(Exception e, HttpServletRequest request) {
Map<String, Object> map = new HashMap<>();
map.put("code", 100);
map.put("msg", e.getMessage());
map.put("url", request.getRequestURL());
return map;
}
//捕获特定异常,返回错误页面
@ExceptionHandler(value = MyException.class)
Object handleMyException(Exception e) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("error.html");
modelAndView.addObject("msg",e.getMessage());
return modelAndView;
}
}
projeto SpringBoot embalado em pacote de guerra
① Em pom.xml
adicionar <packaging>war</packaging>
, e depois maven install
embalado.
② O war
pacote início modo, a classe de inicialização principal necessita de ser alterado, como se segue:
@SpringBootApplication
public class SpringbootApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringbootApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}