我们已经使用Spring-Boot和Thymleaf创建了SpringMVC应用程序。现在,根据新要求,我必须将它们转换为SPring-REST以供外部应用程序使用(AngularJS和Android App),而又不影响thymleaf页面。
请协助。
下面是示例代码。像这样,许多控制器在那里
@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();
}
}
您可以使用javax.ws.rs api来执行此操作。
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0</version>
</dependency>
并在当前代码中使用@RestController而不是简单的@Controllers。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句