Wir haben SpringMVC-Anwendung mit Spring-Boot und Thymleaf erstellt. Jetzt muss ich sie gemäß neuer Anforderung in Spring-REST für den Verbrauch externer Anwendungen (AngularJS und Android App) umwandeln, ohne die Thymleaf-Seiten zu beeinflussen.Wie wird SpringMVC Application auf SpringREST portiert?
Bitte assistieren.
Unten ist der Beispielcode. So sind viele Controller dort
@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();
}
}
Ich fürchte, Sie können nicht tun, was Sie wollen, können Sie nicht den gleichen Rückgabewert in einer Methode von thymeleful (HTML zurückgeben) und json, aber wenn Ihre Geschäftslogik ist in Ihren Diensten isoliert, was Sie können Erstellen Sie einige Ruhe-Controller und fügen Sie dort alle Methoden hinzu, die Sie benötigen. – cralfaro