Spring 및 REST 기술을 연구하기 위해 만든 RESTful 서비스가 거의없는 소규모 SpringBoot 프로젝트가 있습니다. Spring-boot를 통해 실행하면 : 컨트롤러에서 @RequestMapping에 적어 둔 localhost : 8080/+에서 제대로 작동하도록 실행하십시오. 예에서, 로컬 호스트 : 8080/restapp/테스트/{ID} :임베디드 Tomcat에서 시작하는 프로젝트이지만 전체 Tomcat에서 작동하지 않습니다.
@RequestMapping(value = "http ://localhost:8080/restapps-0.0.1-SNAPSHOT/restapp/test/{id}",
method = RequestMethod.GET)
public String getWelcome(@PathVariable(value = "id") String id) {
return "Welcome to jax-rs " + id;
}
전체 톰캣에 배포하지만, 로컬 호스트에서 시작 : 생성하는 동안 테스트를 위해 추가 whitch 8080/project_version 그것은 (index.html을 오픈 프로젝트) 나는 내 서비스에 액세스하지 못했습니다. 나는 시도 :
로컬 호스트 : 8080/project_version/restapp/테스트/{ID}
로컬 호스트 : 8080/project_version/테스트/{ID}
로컬 호스트 : 8080/project_version/프로젝트 이름/restapp/테스트/{id}
하지만 404 오류 만 있습니다.
Application.java
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
}
}
Controller.java
@RestController
public class Controller extends ApplicationConfig {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> s = new HashSet<Class<?>>();
s.add(Controller.class);
return s;
}
@RequestMapping(value = "http ://localhost:8080/restapps-0.0.1-SNAPSHOT/restapp/test/{id}",
method = RequestMethod.GET)
public String getWelcome(@PathVariable(value = "id") String id) {
return "Welcome to jax-rs " + id;
}
}
ApplicationConfig - 응용 프로그램을 확장 빈 클래스.
모든 조언/답변에 대해 고맙습니다.
는@RestController
@RequestMapping(value="/test")
public class Controller extends ApplicationConfig {
@RequestMapping(value = "{id}", method = RequestMethod.GET)
public String getWelcome(@PathVariable(value = "id") String id) {
return "Welcome to jax-rs " + id;
}
}
당신은 할 수 있어야 : 그것은 변경해야하므로 컨트롤러 @RequestMapping
value
는 만 상대 경로가 아닌 절대 경로 여야하기 때문에 다음과 같이
한 가지 더 - Application.java가 전혀 시작되지 않는 것처럼 보입니다. 왜냐하면'Logger log = Logger.getLogger (Application.class.getName()); log.info ("///////// Application started successfully, ////////") Tomcat 로그 파일에서 아무 것도 변경하지 마십시오. 프로젝트 배포에 대한 정보 만 있습니다. – WildTigerrr