Use ContentNegotiationManagerFactoryBean
Use URI variables in redirect URLs
This commit is contained in:
Rossen Stoyanchev 2013-02-10 18:16:18 -05:00
parent 572ef6e2c4
commit 3e66379be1
5 changed files with 26 additions and 30 deletions

View file

@ -22,7 +22,7 @@ import org.springframework.web.servlet.ModelAndView;
/**
* JavaBean form controller that is used to handle <code>Owner</code>s .
*
*
* @author Juergen Hoeller
* @author Ken Krebs
* @author Arjen Poutsma
@ -63,7 +63,7 @@ public class OwnerController {
return "redirect:/owners/" + owner.getId();
}
}
@RequestMapping(value = "/owners/find", method = RequestMethod.GET)
public String initFindForm(Model model) {
model.addAttribute("owner", new Owner());
@ -96,7 +96,7 @@ public class OwnerController {
return "redirect:/owners/" + owner.getId();
}
}
@RequestMapping(value="/owners/{ownerId}/edit", method = RequestMethod.GET)
public String initUpdateOwnerForm(@PathVariable("ownerId") int ownerId, Model model) {
Owner owner = this.ownerRepository.findById(ownerId);
@ -112,10 +112,10 @@ public class OwnerController {
else {
this.ownerRepository.save(owner);
status.setComplete();
return "redirect:/owners/" + owner.getId();
return "redirect:/owners/{ownerId}";
}
}
/**
* Custom handler for displaying an owner.
*

View file

@ -24,7 +24,7 @@ import org.springframework.web.bind.support.SessionStatus;
/**
* JavaBean form controller that is used to add a new <code>Pet</code> to the
* system.
*
*
* @author Juergen Hoeller
* @author Ken Krebs
* @author Arjen Poutsma
@ -35,7 +35,7 @@ public class PetController {
private final ClinicService clinicService;
@Autowired
public PetController(ClinicService clinicService) {
this.clinicService = clinicService;
@ -69,10 +69,10 @@ public class PetController {
else {
this.clinicService.savePet(pet);
status.setComplete();
return "redirect:/owners/" + pet.getOwner().getId();
return "redirect:/owners/{ownerId}";
}
}
@RequestMapping(value="/owners/*/pets/{petId}/edit", method = RequestMethod.GET)
public String initUpdateForm(@PathVariable("petId") int petId, Model model) {
Pet pet = this.clinicService.findPetById(petId);
@ -80,7 +80,7 @@ public class PetController {
return "pets/createOrUpdatePetForm";
}
@RequestMapping(value="/owners/*/pets/{petId}/edit", method = { RequestMethod.PUT, RequestMethod.POST })
@RequestMapping(value="/owners/{ownerId}/pets/{petId}/edit", method = { RequestMethod.PUT, RequestMethod.POST })
public String processUpdateForm(@ModelAttribute("pet") Pet pet, BindingResult result, SessionStatus status) {
// we're not using @Valid annotation here because it is easier to define such validation rule in Java
new PetValidator().validate(pet, result);
@ -90,7 +90,7 @@ public class PetController {
else {
this.clinicService.savePet(pet);
status.setComplete();
return "redirect:/owners/" + pet.getOwner().getId();
return "redirect:/owners/{ownerId}";
}
}

View file

@ -22,7 +22,7 @@ import org.springframework.web.servlet.ModelAndView;
/**
* JavaBean form controller that is used to add a new <code>Visit</code> to the
* system.
*
*
* @author Juergen Hoeller
* @author Ken Krebs
* @author Arjen Poutsma
@ -53,7 +53,7 @@ public class VisitController {
return "pets/createOrUpdateVisitForm";
}
@RequestMapping(value="/owners/*/pets/{petId}/visits/new", method = RequestMethod.POST)
@RequestMapping(value="/owners/{ownerId}/pets/{petId}/visits/new", method = RequestMethod.POST)
public String processNewVisitForm(@Valid Visit visit, BindingResult result, SessionStatus status) {
if (result.hasErrors()) {
return "pets/createOrUpdateVisitForm";
@ -61,10 +61,10 @@ public class VisitController {
else {
this.clinicService.saveVisit(visit);
status.setComplete();
return "redirect:/owners/" + visit.getPet().getOwner().getId();
return "redirect:/owners/{ownerId}";
}
}
/**
* Custom handler for displaying an list of visits.
*