use of org.springframework.web.servlet.view.json.MappingJackson2JsonView in project arch-playground by BeneStem.
the class ExceptionHandlerHtmlControllerAdvice method handleBadRequest.
// @ExceptionHandler(RedirectionException.class)
// public RedirectView redirection(final RedirectionException exception) {
// final RedirectView loginRedirectView = new RedirectView(exception.getLocation().toString());
// loginRedirectView.setStatusCode(HttpStatus.valueOf(exception.getResponse().getStatus()));
// loginRedirectView.setExposeModelAttributes(false);
// return loginRedirectView;
// }
@ExceptionHandler(BadRequestException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public ModelAndView handleBadRequest(final BadRequestException exception) {
final MappingJackson2JsonView view = new CustomMappingJackson2JsonView();
final var modelAndView = new ModelAndView(view);
modelAndView.addObject(exception.getErrors().getFieldErrors().stream().map(fieldError -> new ValidationError(fieldError.getField(), fieldError.getDefaultMessage())).collect(toList()));
return modelAndView;
}
use of org.springframework.web.servlet.view.json.MappingJackson2JsonView in project arch-playground by BeneStem.
the class ExceptionHandlerHtmlControllerAdvice method handleMethodArgumentNotValid.
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
protected ModelAndView handleMethodArgumentNotValid(final MethodArgumentNotValidException exception) {
final MappingJackson2JsonView view = new CustomMappingJackson2JsonView();
final var modelAndView = new ModelAndView(view);
modelAndView.addObject(exception.getBindingResult().getFieldErrors().stream().map(fieldError -> new ValidationError(fieldError.getField(), fieldError.getDefaultMessage())).collect(toList()));
return modelAndView;
}
use of org.springframework.web.servlet.view.json.MappingJackson2JsonView in project irida by phac-nml.
the class IridaRestApiWebConfig method defaultViews.
private List<View> defaultViews() {
List<View> views = new ArrayList<>();
MappingJackson2JsonView jsonView = new MappingJackson2JsonView();
jsonView.setPrettyPrint(true);
// add support for serializing Path data
jsonView.getObjectMapper().registerModule(new Jdk7Module());
views.add(jsonView);
Jaxb2Marshaller jaxb2marshaller = new Jaxb2Marshaller();
jaxb2marshaller.setPackagesToScan(new String[] { "ca.corefacility.bioinformatics.irida.web.assembler.resource" });
MarshallingView marshallingView = new MarshallingView(jaxb2marshaller);
views.add(marshallingView);
views.add(new FastaView());
views.add(new FastqView());
views.add(new GenbankView());
views.add(new NewickFileView());
views.add(new CSVView());
return views;
}
use of org.springframework.web.servlet.view.json.MappingJackson2JsonView in project spring-framework by spring-projects.
the class ViewResolutionTests method contentNegotiation.
@Test
void contentNegotiation() throws Exception {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setClassesToBeBound(Person.class);
List<View> viewList = new ArrayList<>();
viewList.add(new MappingJackson2JsonView());
viewList.add(new MarshallingView(marshaller));
ContentNegotiationManager manager = new ContentNegotiationManager(new HeaderContentNegotiationStrategy(), new FixedContentNegotiationStrategy(MediaType.TEXT_HTML));
ContentNegotiatingViewResolver cnViewResolver = new ContentNegotiatingViewResolver();
cnViewResolver.setDefaultViews(viewList);
cnViewResolver.setContentNegotiationManager(manager);
cnViewResolver.afterPropertiesSet();
MockMvc mockMvc = standaloneSetup(new PersonController()).setViewResolvers(cnViewResolver, new InternalResourceViewResolver()).build();
mockMvc.perform(get("/person/Corea")).andExpect(status().isOk()).andExpect(model().size(1)).andExpect(model().attributeExists("person")).andExpect(forwardedUrl("person/show"));
mockMvc.perform(get("/person/Corea").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk()).andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)).andExpect(jsonPath("$.person.name").value("Corea"));
mockMvc.perform(get("/person/Corea").accept(MediaType.APPLICATION_XML)).andExpect(status().isOk()).andExpect(content().contentType(MediaType.APPLICATION_XML)).andExpect(xpath("/person/name/text()").string(equalTo("Corea")));
}
use of org.springframework.web.servlet.view.json.MappingJackson2JsonView in project spring-framework by spring-projects.
the class ViewResolverRegistryTests method contentNegotiationAddsDefaultViewRegistrations.
@Test
public void contentNegotiationAddsDefaultViewRegistrations() {
MappingJackson2JsonView view1 = new MappingJackson2JsonView();
this.registry.enableContentNegotiation(view1);
ContentNegotiatingViewResolver resolver1 = checkAndGetResolver(ContentNegotiatingViewResolver.class);
assertThat(resolver1.getDefaultViews()).isEqualTo(Arrays.asList(view1));
MarshallingView view2 = new MarshallingView();
this.registry.enableContentNegotiation(view2);
ContentNegotiatingViewResolver resolver2 = checkAndGetResolver(ContentNegotiatingViewResolver.class);
assertThat(resolver2.getDefaultViews()).isEqualTo(Arrays.asList(view1, view2));
assertThat(resolver2).isSameAs(resolver1);
}
Aggregations