所以我有一个带有特定路由的web应用程序:http://localhost:28389/MyProjectName/webresources/test/,它只返回一个json字符串:
但当我在heroku上部署我的应用程序时,web应用程序无法找到相同的路径:
这是我的ApplicationConfig:
@javax.ws.rs.ApplicationPath("webresources")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new java.util.HashSet<>();
addRestResourceClasses(resources);
return resources;
}
private void addRestResourceClasses(Set<Class<?>> resources) {
resources.add(pkgServices.TestService.class);
}
}
这是我的TestService类:
@Path("test")
public class TestService {
public TestService () {
}
@GET
@Produces({MediaType.APPLICATION_JSON})
public Response getTestMsg() throws Exception {
return Response.ok("welcome").build();
}
}
发布于 2019-05-13 00:33:33
阅读Heroku文档。它们为您分配端口号并将其设置为环境变量。您必须在应用程序中使用此环境变量将http服务器绑定到此端口。
请注意,您仍然会从浏览器的第80个端口连接到您的应用程序。
当前的问题是Heroku无法将请求转发到您的服务器,因为您没有侦听Heroku期望您侦听的端口。
https://stackoverflow.com/questions/56100958
复制相似问题