Spring-BootとThymleafを使用してSpringMVCアプリケーションを作成しました。今度は新しい要件に従って、外部アプリケーションの使用のためにSPring-REST(AngularJSとAndroid App)に変換しなければなりません。SpringMVCアプリケーションをSpringRESTに移植する方法は?
助けてください。
以下はサンプルコードです。このように多くのコントローラがあります
@Controller
@RequestMapping(value = "/admin/register")
@SessionAttributes("roles")
public class AdminRegisterController {
@Autowired
private UserService userService;
@Autowired
private RoleRepository roleRepository;
@ModelAttribute("user")
public User constructUser() {
return new User();
}
@ModelAttribute("roles")
public List<Role> InitializeRoles() {
return roleRepository.findAll();
}
// Display Register Page
@RequestMapping
public String showRegister(Model model) {
model.addAttribute("current", "register");
return "register";
}
// Inserting new User
@RequestMapping(method = RequestMethod.POST)
public ModelAndView doRegister(@Valid @ModelAttribute("user") User user, BindingResult result) {
if (result.hasErrors()) {
return new ModelAndView("register");
}
userService.save(user);
RedirectView redirectView = new RedirectView("/admin/register?success=true");
redirectView.setExposeModelAttributes(false);
return new ModelAndView(redirectView);
}
@RequestMapping("/available")
@ResponseBody
public String available(@RequestParam String username) {
User user = userService.findOne(username);
Boolean available = userService.findOne(username) == null;
return available.toString();
}
}
thymeleaf(return HTML)とjsonによってレンダリングされるメソッドで同じ戻り値を使用することはできませんが、ビジネスロジックが適切にサービス内で分離されている場合は、いくつかの残りのコントローラを作成し、必要なすべてのメソッドを追加します。 – cralfaro