为什么 Status.CLIENT_ERROR_UNAUTHORIZED 在 Restlet 中 returns 一个 EmptyRepresentation 当 post

Why does Status.CLIENT_ERROR_UNAUTHORIZED in Restlet returns an EmptyRepresentation when post

Restlet中的Post方法2.x returns一个EmptyRepresentation当Status.CLIENT_ERROR_UNAUTHORIZED时,它在Get-method中不这样做

这是为什么?

我无法重现你的问题。你能给你使用的代码,所以我可以试一试吗?我猜你使用了 setStatus 方法,但你应该用这个状态代码抛出一个 ResourceException

使用此代码时:

public class TestServerResource extends ServerResource {
    @Post
    public Representation test(Representation repr) {
        throw new ResourceException(Status.CLIENT_ERROR_UNAUTHORIZED);
    }
}

我有以下回复:

405 Method Not Allowed
<html>
<head>
  <title>Status page</title>
</head>
<body style="font-family: sans-serif;">
  <p style="font-size: 1.2em;font-weight: bold;margin: 1em 0px;">Method Not Allowed</p>
  <p>The method specified in the request is not allowed for the resource identified by the request URI</p>
  <p>You can get technical details <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.6">here</a>.<br>
  Please continue your visit at our <a href="/">home page</a>.
  </p>
</body>
</html>

希望对您有所帮助。 蒂埃里