@Path("/foos")
public class MyRestlet
extends BaseRestlet
{
@GET
@Path("/{fooId}")
@Produces(MediaType.APPLICATION_XML)
public Response getFoo(@PathParam("fooId") final String fooId)
throws IOException, ParseException
{
final Foo foo = fooService.getFoo(fooId);
if (foo != null)
{
return Response.status(Response.Status.OK).entity(foo).build();
}
else
{
return Response.status(Response.Status.NOT_FOUND).build();
}
}
}
在这种情况下,404响应是非常典型的,API用户很容易使用。
一个问题是,由于没有找到特定的实体,或者由于URI中的结构问题,客户端很难判断他们是否得到了404。在您的示例中,/foos/5
可能返回404,因为ID=5的foo不存在。但是,/food/1
将返回404,即使存在ID=1
的foo(因为foos
拼写错误)。换句话说,404意味着一个构造不良的URI或对不存在的资源的引用。
当您有一个引用多个资源的URI时,会出现另一个问题。通过一个简单的404响应,客户机不知道哪个引用的资源没有找到。
我得到了一个工作Spring靴Rest服务。当路径错误时,它不会返回任何东西。一点反应都没有。同时它也不会抛出错误。理想情况下,我希望出现404 not found错误。 ResponseEntityExceptionHandler中有此方法 我已在属性中标记 要将404 not found响应抛回客户端,我还必须为此服务执行什么操作
我用Spring 4和Spring security设置了一个简单的REST API web.xml AccountController.java mysabisabi-servlet.xml mysabisabi-security.xml 应用程序上下文.xml 日志文件 当我尝试访问 我得到 我已经尝试了 和作为url模式,但仍然相同。 有人能指出我错过了什么吗? 谢了。
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd“> 我不明白该如何解决这件事,请帮帮我
起初,在我的web服务器中,我只有一个REST servlet。类似于: 和web.xml: 但是后来我想向服务器添加一些静态html,所以我将servlet映射更新为/rest/* 控制器servlet类的@path指令从“/”到“/rest”。一切都很好,但是controller的子资源或方法与@path指令停止工作…IE: null 我使用了trace util,得到了以下结果: 对于/[a
我有一个xamarin应用程序,可以从webAPI中提取数据。我多次检查api地址,我确信它是正确的。当我调试代码时,服务器上出现404 not found错误。然而,当我将URL复制并粘贴到浏览器时,我得到了预期的结果。我不明白为什么我的应用程序返回404。 我的方法: 我的桥接方法到HttpClient的PostAsync方法: 代币:正确 API URL:正确(我从调试输出中检查“/”符号。
试图从开源android应用程序构建签名apk,但链接出错https://jcenter.bintray.com/com/android/tools/lint/lint-gradle/26.1.3/lint-gradle-26.1.3.pom无法访问 我尝试手动将此链接放到我的浏览器中,并在重定向到https://repo.jfrog.org/artifactory/libs-release-bi