Я переписываю API-интерфейс с Nodejs на Spring.Это мое первое приложение Spring REST API.Я хочу сделать это как можно более простым, чтобы избежать использования .xml(s)
, следуя документации Spring
Этот бэкэнд, с тех пор, имеет только один контроллер и один сервис.Все приложение предназначено не для обслуживания каких-либо веб-страниц, а только для API REST.
Я начал с написания простой конфигурации, основанной на AbstractAnnotationConfigDispatcherServletInitializer
и WebMvcConfigurerAdapter
:
@Configuration
public class WebInit extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{MvcConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
//---------------------------------------------------------------
@Configuration
@EnableWebMvc
@ComponentScan("com.root.package")
@EnableAspectJAutoProxy
public class MvcConfig extends WebMvcConfigurerAdapter {
//I think I may not need anything inside here, right?
}
... и контроллер тоже ...
@Controller("/locale")
public class LocaleController {
@Autowired
private LocaleService localeService;
@RequestMapping(value = "/labels", method = RequestMethod.GET)
public @ResponseBody List<Label> getAll() {
return localeService.getAll();
}
}
Запускается на Tomcat, я могу его отладить.Журнал показывает Mapped "{[/labels],methods=[GET]}"
и Mapped URL path [/locale] onto handler '/locale'
, но как только я звоню почтальону, я вижу No mapping found for HTTP request with URI [/myapp/locale/labels] in DispatcherServlet with name 'dispatcher'
.
Каждое исследование в основном приводило меня к Почему Spring MVC отвечает 404 и сообщает «НетОбнаружено сопоставление для HTTP-запроса с URI [...] в DispatcherServlet "? -but- немного многословно и ... почти каждая написанная концепция основана на документации Spring, которой я уже следовал, поскольку я не углубляюсьзнаю весну :) 1023
Я уверен, что у моей проблемы есть более простое решение.Чего мне не хватает?