java - 如何在heroku中找到网络服务路径?
问题描述
所以我有一个具有特定路由的网络应用程序:http://localhost:28389/MyProjectName/webresources/test/这仅返回一个 json 字符串:
但是当我在 heroku 上部署我的应用程序时,网络应用程序找不到相同的路径:
这是我的应用程序配置:
@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();
}
}
解决方案
阅读 Heroku 文档。他们为您分配端口号并将其设置为环境变量。您必须在应用程序中使用此环境变量将 http 服务器绑定到此端口。
请注意,您仍会从浏览器的第 80 个端口连接到您的应用程序。
当前的问题是 Heroku 无法将请求转发到您的服务器,因为您没有在 Heroku 期望您侦听的端口上侦听。
推荐阅读
- mysql - 在 Laravel 中获取过去 7 天的分组和计数条目
- jenkins - 将选择参数传递给另一个作业
- google-chrome - 禁用“在新的 Chrome 配置文件中继续”弹出窗口
- python-3.x - vim 空符号影响字符串 ^@
- javascript - 如何设置加/减/范围值按钮的限制?
- svelte - Sevltekit 404 error when refreshing dynamic route
- wordpress - Wocomerce 使用 GeoIP2 而不是 GeoLite2
- python - 如何从列表中删除关联的项目?
- python - Numpy 财务计算储蓄计划
- python-3.x - 如何在 Python3 中创建带有变量的 json 文件路径?