0

我已按照此处的说明进行操作:http: //docs.jboss.org/errai/latest/errai/reference/html_single/#sid-19398997

不幸的是,我无法完成这项工作。这是我的服务接口:

package pl.korbeldaniel.erpe.shared.rest.api;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("anonymous/fileService/get/MenuService")
public interface MenuService {
    @GET
    @Produces("application/json")
    public List<String> getMenuEntries();
}

和服务器实现:

package pl.korbeldaniel.erpe.server.rest.api;

import java.util.ArrayList;
import java.util.List;

import pl.korbeldaniel.erpe.shared.rest.api.MenuService;

public class MenuServiceImpl implements MenuService {
    @Override
    public List<String> getMenuEntries() {
        List<String> customers = new ArrayList<String>();
        for (int i = 0; i < 11; i++) {
            customers.add("Menu entry " + i);
        }
        return customers;
    }
}

运行此类服务返回 404 未找到。我不知道为什么。在更改服务器实现后,Spring Rest 控制器可以正常工作,所以我不明白,出了什么问题。

我已经添加到 pom.xml 的专用库中。我已经添加到 module.gwt.xml 专用继承。

我现在没有选择了。我认为我认为问题的根源之一是 web.xml,但在官方文档中没有关于它的世界。

目前我没有任何 web.xml 文件,因为我使用 Java 配置,但我认为这不是问题。请帮忙。


编辑

这是我基于 fe 的 spring 的 Java 配置(用于代替 web.xml):http: //docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/WebApplicationInitializer.html

源代码:

package pl.korbeldaniel.erpe.server.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

import pl.korbeldaniel.erpe.server.config.security.SecurityConfig;
import pl.korbeldaniel.erpe.shared.ServerRouting;

public class WebServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected Class<?>[] getRootConfigClasses() {
    return new Class<?>[] { SecurityConfig.class };
    }
    @Override
    protected Class<?>[] getServletConfigClasses() {
    return new Class<?>[] { WebConfig.class };
    }
    @Override
    protected String[] getServletMappings() {
    return new String[] { ServerRouting.SPRING_WEB_SERVLET_INITIALIZER_URL };
    }
}

package pl.korbeldaniel.erpe.server.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@EnableWebMvc
@ComponentScan(basePackages = "pl.korbeldaniel.erpe.server")
public class WebConfig extends WebMvcConfigurerAdapter {
}

这是我的 gwt 模块配置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<module>
<inherits name="com.google.gwt.user.User"/>
    <inherits name="gwt.material.design.GwtMaterialWithJQueryDebug" />
    <inherits name="gwt.material.design.themes.ThemeBlue" />
    <inherits name="gwt.material.design.addins.GwtMaterialAddins" />
    <inherits name="gwt.material.design.GwtMaterialTableDebug" />
    <inherits name="org.jboss.errai.enterprise.All" />
    <inherits name="org.jboss.errai.enterprise.Jaxrs"/>
    <inherits name="org.jboss.errai.ioc.Container" />
    <inherits name='org.jboss.errai.bus.ErraiBus' />

    <set-property name="gwt.logging.enabled" value="TRUE" />
    <set-property name="gwt.logging.consoleHandler" value="ENABLED" />
    <set-property name="gwt.logging.logLevel" value="INFO" />
    <source path="" />

    <set-property name="user.agent" value="safari" />
</module>
4

0 回答 0