带Spring Boot的Olingo

问题描述 投票:0回答:1

我正在使用this tutorial,它适用于简单的Java Web应用程序。现在我想将其转换为Spring Boot。我删除了web.xml并将以下两个注释添加到DemoServlet

@RestController
public class DemoServlet extends DispatcherServlet {
    private static final long serialVersionUID = 1L;
    private static final Logger LOG = LoggerFactory.getLogger(DemoServlet.class);

    @RequestMapping("/DemoService.svc/*")
    protected void service(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
        try {
            // create odata handler and configure it with CsdlEdmProvider and Processor
            OData odata = OData.newInstance();
            ServiceMetadata edm = odata.createServiceMetadata(new DemoEdmProvider(), new ArrayList<EdmxReference>());
            ODataHttpHandler handler = odata.createHandler(edm);
            handler.register(new DemoEntityCollectionProcessor());

            // let the handler do the work
            handler.process(req, resp);
        } catch (RuntimeException e) {
            LOG.error("Server Error occurred in ExampleServlet", e);
            throw new ServletException(e);
        }
    }
}

我还将HTTPServlet更改为DispatcherServlet。

现在,我只能访问一个端点。即>

http://localhost:8080/DemoService.svc/

元数据端点不起作用。它返回服务文档而不是xml内容。

http://localhost:8080/DemoService.svc/$metadata

有人可以解释这是怎么回事吗?

我正在使用本教程,它适用于简单的Java Web应用程序。现在我想将其转换为Spring Boot。我删除了web.xml并将以下两个注释添加到DemoServlet @ ...

java spring-boot servlets odata olingo
1个回答
0
投票

用户使用以下代码表示处理方法。

© www.soinside.com 2019 - 2024. All rights reserved.