Como o método contentNegatiationViewResolver
@Bean
public ViewResolver contentNegotiationViewResolver (ContentNegotiationManager manager) {
List<ViewResolver> viewResolvers = new ArrayList<>();
viewResolvers.add(internalResourceViewResolver());
viewResolvers.add(new JsonViewResolver());
ContentNegotiatingViewResolver resolver = new ContentNegotiatingViewResolver();
resolver.setViewResolvers(viewResolvers);
resolver.setContentNegotiationManager(manager);
return resolver;
}
sabe qual resolver ele tem que escolher (O da VIEW ou o JSON), se a requisição é feita diretamente para o controller?
@RequestMapping("/detalhe/{id}")
public ModelAndView detalhe (@PathVariable("id") Integer id) {
ModelAndView modelAndView = new ModelAndView("produtos/detalhe");
Produto produto = produtoDao.find(id);
modelAndView.addObject("produto", produto);
return modelAndView;
}
Isso é feito implicitamente pelo SPRING?