MSF4J应用程序能否在不使用 Mustache 模板引擎的情况下提供静态内容。我开发了一个 REST 服务,它将被一个已经开发的 Angular Web 应用程序使用。现在我需要将相同的 Angular 应用程序与微服务打包,以便它在浏览器中呈现并通过 ajax 调用使用该服务。
问问题
183 次
1 回答
1
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();
}
}
}
于 2016-07-18T09:57:46.143 回答