0

MSF4J应用程序能否在不使用 Mustache 模板引擎的情况下提供静态内容。我开发了一个 REST 服务,它将被一个已经开发的 Angular Web 应用程序使用。现在我需要将相同的 Angular 应用程序与微服务打包,以便它在浏览器中呈现并通过 ajax 调用使用该服务。

4

1 回答 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 回答