我有一个@Controller:
@Controller("/")
public class GreetingController {
@GetMapping("/greeting")
public String get() {
return "greeting";
}
}
还有一个@RestController:
@RestController("/test")
public class TestRest {
@RequestMapping()
public List<TestDTO> get() {
List<TestDTO> dtos = new ArrayList<>();
dtos.add(new TestDTO("value1","value2"));
dtos.add(new TestDTO("value1","value2"));
return dtos;
}
}
@Controller可以正常工作,并在
src/main/resources/templates/greeting.html
处提供静态HTML页面但是@RestController不起作用,我得到的都是404。
如果我将方法从@RestController移到@Controller并添加@ResponseBody批注,则它将开始工作。
如何将控制器分为不同的类?
最佳答案
@RestController
和@Controller
不会将资源路径作为参数。也许尝试一些类似...
@RestController
@RequestMapping("/test")
public class TestRest {
@RequestMapping(method = RequestMethod.GET)
public List<TestDTO> get() {
List<TestDTO> dtos = new ArrayList<>();
dtos.add(new TestDTO("value1","value2"));
dtos.add(new TestDTO("value1","value2"));
return dtos;
}
}