java - 从浏览器调用 REST Web 服务 URL

标签 java web-services rest tomcat cxf

我部署了简单的 REST 接口(interface)。假设我的 REST 服务部署在此上下文路径中:

http://localhost:8080/Engine/services/Evaluation

然后我像这样调用 URL:

http://localhost:8080/Engine/services/Evaluation?_wadl

我可以看到 XML 输出:

<application>
    <grammars/>
    <resources base="http://localhost:8080/Engine/services/Evaluation">
        <resource path="/Evaluation/">
            <resource path="initializeEvaluation/{localeCode}">
                <param name="localeCode" style="template" type="xs:string"/>
                <method name="GET">
                    <request>
                        <representation mediaType="application/octet-stream"/>
                    </request>
                    <response>
                        <representation mediaType="application/json"/>
                    </response>
                </method>
            </resource>
        </resource>
    </resources>
</application>

问题是如何使用浏览器中的 URL 调用该方法?

我尝试输入:

http://localhost:8080/Engine/services/Evaluation/initializeEvaluation?localeCode=en-GB

但我有:

2013-01-30 11:22:13,477 [http-bio-8080-exec-3] WARN   JAXRSInInterceptor - No root resource matching request path /Engine/services/Evaluation/initializeEvaluation has been found, Relative Path: /initializeEvaluation. Please enable FINE/TRACE log level for more details.
2013-01-30 11:22:13,479 [http-bio-8080-exec-3] WARN   WebApplicationExceptionMapper - javax.ws.rs.NotFoundException

我对 REST 很陌生,但据我了解,URL 应该像上面这样。为什么我会遇到异常?

我的java接口(interface):

@Path("/Evaluation/")
@Produces(MediaType.APPLICATION_JSON)
public interface EvaluationService {

    @GET
    @Path("initializeEvaluation/{localeCode}")
    EvaluationStatus initializeEvaluation(ClientType client, @PathParam("localeCode") String localeCode)
            throws EvaluationException;

}

我正在使用 Apache CXF 2.7.0、JDK 1.7、Tomcat 7。

最佳答案

这是一个路径参数。因此,我认为 URL 应该是:

http://localhost:8080/Engine/services/Evaluation/initializeEvaluation/en-GB

关于java - 从浏览器调用 REST Web 服务 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14602877/

相关文章:

Java 硬件中断处理

java - 执行一些 Action 并根据时间重复这些 Action

java - weblogic-maven-plugin 中缺少目标

node.js - Expressjs REST API 资源管理器

javascript - 无法从 XML 数据完全填充 HTML 表

java - 为什么 setOnTouchListener 之后其他不起作用(Android)

java - 打印 bufferedImage 有 3 英寸的边距

Javascript:当我用 Javascript 附加内容时,我的 <p> 内容没有出现

web-services - RESTful webservice + Spring token 认证

rest - 不同的资源表示(REST API)