MSF4J:提供静态内容

时间:2016-07-08 11:04:24

标签: angularjs web mustache microservices msf4j

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

1 个答案:

答案 0 :(得分: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();
        }
    }
}