【问题标题】:Apache ISIS: Set HTTP-ResponseApache ISIS:设置 HTTP 响应
【发布时间】:2017-06-06 09:52:32
【问题描述】:

我有以下情况:
当有人调用我的 Restful-Service Apache 时,Apache isis 代码会根据请求进行预定义。如果你错过了一些参数,你会得到一个400 - Bad Request。否则,当给定所有参数时,您通常会得到一个200 - OK。但有时我想回复201 - Created202 - Accepted
我在 Apache ISIS 文档中没有找到解决此问题的方法,在 www 中也没有找到代码示例。

那么有人可以帮我吗?

谢谢

编辑:
我找到了这个网址https://github.com/apache/isis/blob/master/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.javaResponses 类的静态方法用于创建一些 2xx 状态,但只能在此类中创建 200 - OK204 - No Content。对于所有其他非 2xx 状态代码,会抛出 RestfulObjectsApplicationException
这是向调用者响应 http 代码的正确方法吗? 例如,我该如何响应 202 状态代码?

【问题讨论】:

    标签: java http isis


    【解决方案1】:

    总而言之,Apache Isis 实现了Restful Objects spec,而后者没有定义这些状态码。所以目前没有办法返回 202。

    我认为 202 对于后台命令可能有意义,即使用 @Action(commandExecuteIn=BACKGROUND 注释为在后台运行的命令。

    你认为 202 应该代表什么语义?

    同时,我已经提出了JIRA ticket 来记录这次对话。

    谢谢 丹

    【讨论】:

    • 202 只是一个例子。也许有一些理由返回 403 状态或其他东西。但是如果没有可能返回其他代码,那么我必须以 restful objects 规范的方式实现它。但也许对于 202 是一些进程被放入队列并稍后处理(如果队列中的其他进程已被处理)。
    猜你喜欢
    • 2012-06-12
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2020-02-01
    相关资源
    最近更新 更多