MSF4J:提供静态内容
MSF4J: Serving static content
MSF4J 应用程序可以在不使用 Mustache 模板引擎的情况下提供静态内容。我开发了一个 REST 服务,该服务将由一个已经开发的 angular 网络应用程序使用。现在我需要将相同的 angular 应用程序与微服务打包,以便它在浏览器中呈现并通过 ajax 调用使用该服务。
MSF4J 不直接支持提供静态内容。根据您的问题,我的理解是您想将 MSF4J 服务器指向一个目录,并通过其相对路径或类似路径为该目录中的资源提供服务。在这种情况下,您可以做的是编写一个带有通配符路径的 MSF4J 服务方法,并提供与请求路径匹配的静态内容。
@Path("/")
public class FileServer {
private static final String BASE_PATH = "/your/www/dir";
@GET
@Path("/**")
public Response serveFiles(@Context Request request) {
String uri = request.getUri();
System.out.println("Requested: " + uri);
File file = Paths.get(BASE_PATH, uri).toFile();
if (file.exists()) {
return Response.ok().entity(file).build();
} else {
return Response.status(404).entity("<h1>Not Found</h1>").build();
}
}
}
MSF4J 应用程序可以在不使用 Mustache 模板引擎的情况下提供静态内容。我开发了一个 REST 服务,该服务将由一个已经开发的 angular 网络应用程序使用。现在我需要将相同的 angular 应用程序与微服务打包,以便它在浏览器中呈现并通过 ajax 调用使用该服务。
MSF4J 不直接支持提供静态内容。根据您的问题,我的理解是您想将 MSF4J 服务器指向一个目录,并通过其相对路径或类似路径为该目录中的资源提供服务。在这种情况下,您可以做的是编写一个带有通配符路径的 MSF4J 服务方法,并提供与请求路径匹配的静态内容。
@Path("/")
public class FileServer {
private static final String BASE_PATH = "/your/www/dir";
@GET
@Path("/**")
public Response serveFiles(@Context Request request) {
String uri = request.getUri();
System.out.println("Requested: " + uri);
File file = Paths.get(BASE_PATH, uri).toFile();
if (file.exists()) {
return Response.ok().entity(file).build();
} else {
return Response.status(404).entity("<h1>Not Found</h1>").build();
}
}
}