Restlet 获取 HTTP 状态代码 204 而不是 200

2024-02-22

对于第一个请求,我收到 JSON 响应。从下一个请求开始,我开始获取此日志和 HTTP 状态代码 204,即使 ServerResource 已成功返回表示

org.restlet.engine.adapter.ServerAdapter commit
WARNING: A response with an unavailable and potentially non empty entity was returned. Ignoring the entity for resource http://localhost:8888/xyz?abc=def

布线线路应用等级

@Override
public Restlet createInboundRoot() {
    router = new Router(getContext());
    CorsService corsService = new CorsService();         
    corsService.setAllowedOrigins( new HashSet<String>(Arrays.asList("http://example.com")));
    corsService.setAllowedCredentials(true);
    getServices().add(corsService);
    router.attach("/xyz", XYZ.class);
}

处理并返回 JSON 表示的服务器资源

public class XYZ extends ServerResource {

    private static final Logger logger = Logger.getLogger("API:XyZ");

    @Get(":json")
    public Representation handleGetRequest() {
         ..
         return API_RESPONSE_JSON_REPRESENTATION_SUCCESS;
    }
}

释放响应后,表示状态available设置为 false。所以后续调用ServerResource,返回表示形式,但在handle()方法它被设置为 204 因为getResponseEntity().isAvailable()回报false.

From ServerResource:

@Override
public Representation handle() {
       ...
        } finally {
            if (Status.CLIENT_ERROR_METHOD_NOT_ALLOWED.equals(getStatus())) {
                updateAllowedMethods();
            } else if (Status.SUCCESS_OK.equals(getStatus())
                    && (getResponseEntity() == null || !getResponseEntity()
                            .isAvailable())) {
                getLogger()
                        .fine("A response with a 200 (Ok) status should have an entity. "
                                + "Changing the status to 204 (No content).");
                setStatus(Status.SUCCESS_NO_CONTENT);
            }
        }
    }
    return result;
}

SOLUTION

要么每次都返回一个新的表示,要么在返回表示之前将Available设置为true

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Restlet 获取 HTTP 状态代码 204 而不是 200 的相关文章

  • 声纳违规:安全性 - 使用 byte[] 时直接存储数组

    我确实遇到过以下两篇关于类似问题的帖子声纳违规 https stackoverflow com questions 11580948 sonar violation security array is stored directly and
  • 将 CSV 文件读入 Java 作为数据库表

    我发现了很多关于使用 Java 读取 CSV 的帖子 并且他们所指向的 API 在读取 CSV 文件时都采用了面向行的方法 就像 当你得到一行时 获取每一列的值 我希望有一个更高级别的 API 比如在 Perl 中 DBI 允许您在 CSV
  • 谁能解释一下 servlet 映射吗?

    我正在尝试使用 SpringMVC 编写一个 Web 应用程序 通常我只是将一些虚构的文件扩展名映射到 Spring 的前端控制器并快乐地生活 但这次我要使用类似 REST 的 URL 没有文件扩展名 将我的上下文路径下的所有内容映射到前端
  • java.lang.NoClassDefFoundError:HttpSessionListener

    我正在尝试部署一场我没有编写的战争 但我在日志中收到此错误 java lang NoClassDefFoundError HttpSessionListener 我知道 HttpSessionListener 位于servlet api j
  • RSA 加密-解密:BadPaddingException:数据必须以零开头

    对于一个被问了很多次的问题 我很抱歉向您询问您的技能 我有一个关于 RSA 加密的问题 我已经检查过有关此问题的其他主题 但没有找到任何有用的答案 我希望你能帮助我 我想读取一个文件 加密其内容 然后解密它并将这些解密的字节放入一个新文件中
  • Selenium - 保存网站,包括所有图像、css、dom

    我想使用 firefox 或 chrome 访问带有 selenium 的页面 当页面加载时 我想从页面下载所有图像 css dom 我想存储每张图像 就像我在其中找到它们一样 chrome gt Tools gt Development
  • 如何使用 Spring Security 跨多个基于 JVM 的应用程序实现单点登录

    我目前正在尝试跨多个基于 JVM Grails Servlet 的 Web 应用程序实现单点登录解决方案 这些应用程序目前都部署在同一个 servlet 容器 当前是 Tomcat 但不想将我的解决方案仅限于 Tomcat 中 所有 Web
  • PrintStream是有缓冲的,但是flush不会降低性能,而BufferedOutputStream会加速性能

    我预计由于 PrintStream 是缓冲的 通过在每次 print 之后添加刷新操作 速度性能应该会显着降低 但事实并非如此 如下面的代码片段所示 此外 将 PrintStream 包裹在 BufferedOutputStream 周围可
  • 文件保存在文件系统中 VS 保存在数据库中

    我正在设计一个 servlet 或 Struts2 中的操作 用于文件 图像 文档等 下载 但我想知道哪种更好的方法可以将文件保留在文件系统和数据库中 只需保留文件的路径或将文件保留在数据库中 如 BLOB 我知道当我查询数据库时 哪里的
  • 将 emoji 替换为适当的 java 代码

    我正在开发一个简单的java程序 它可以接受这样的字符串 停止 你违反了 法律 但是现在 你 并将每个表情符号替换为适当的 java 字符 我不知道该怎么称呼他们 这是一个例子 汽车表情符号 将替换为 uD83D uDE97 这允许我有一个
  • 从 org.w3c.dom.Node 获取 Xpath

    我可以从 org w3c dom Node 获取完整的 xpath 吗 假设当前节点指向 xml 文档中间的某个位置 我想提取该元素的 xpath 我正在寻找的输出 xpath 是 parent child1 chiild2 child3
  • 在 JSON 对象中强制执行非空字段

    我们的 REST API 接收一些 JSON 对象输入 其中某些字段要求不为空 这些可以是字符串 整数 甚至可以是其他一些类实例作为参考 我们正在尝试找到一种方法来强制这些字段不为空 而不是在 API 中进行空检查的正确方法 当前的 if
  • 比较和删除列表和数组java中不存在的元素

    我有一个String数组和一List
  • 如何减少 JSF 中的 javax.faces.ViewState

    减少 JSF 中视图状态隐藏字段大小的最佳方法是什么 我注意到我的视图状态约为 40k 这会在每次请求和响应时下降到客户端并返回到服务器 特别是到达服务器时 这对用户来说会显着减慢 我的环境 JSF 1 2 MyFaces Tomcat T
  • 获取证书链

    我正在 Java 中使用 X509 证书 给定一个证书 是否可以在签名层次结构中找到所有其他证书 直到找到根证书 我有一个证书文件 带有 cer扩展名 我想提取父签名证书 我想继续查找该证书的父证书 直到获得最终的自签名根证书 我已经检查了
  • 为什么jdk中没有ConcurrentLinkedHashMap类?

    这个问题直接接着问从我之前的问题来看 https stackoverflow com q 12299731 1527084 我想我的第二个问题的答案是否定的 所以我想了解为什么 java util concurrent 包中没有 Concu
  • 如何确保超类的子类方法的线程安全?

    我参加了一次面试 并被要求为以下要求设计一个课程 假设我有一个 A 类 它可以有任意数量的子类 即子类 类 A 有一个名为 doSomething 的方法 该方法是同步的 要求是 A 的所有子类都是强制性的重写 doSomething me
  • RecyclerView 适配器的 Kotlin 泛型

    我正在尝试编写一个通用的 recyclerview 适配器 我找到了几个例子 然而 仍然无法弄清楚如何实现通用适配器 我写的代码是 open abstract class BaseAdapter
  • 根据 Java 环境变量中的值创建使用 @JsonIgnore 的自定义注释

    我需要创建一个新的注释 用于在环境变量设置时忽略输出 JSON 文件中的字段var false 我尝试使用JsonAnnotationIntrospector 但无法获得预期的输出 public class Vehicle String v
  • javafx中的stackpane和root有什么区别?

    我正在练习javafx做饼图 以下是开发饼图的代码 如果我这样做Group并与StackPane 我发现输出没有区别 我已经评论了组部分 只是徘徊两者之间的区别 import javafx application Application i

随机推荐

  • 计算Python程序中的递归! [复制]

    这个问题在这里已经有答案了 我需要计算python程序中递归的次数 所以基本上我需要一个静态变量之类的东西 比如在 C 中 它可以计算函数被调用的次数 只需通过递归传递一个计数器 def recur n count 0 if n 0 ret
  • 为什么 Python 中 1 == True 而 2 != True ? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 中的 False 0 和 True 1 是实现细节还是由语言保证 https stackoverflow com questions 2764017 is false 0 and tru
  • Excel VBA:IF ComboBox.Value 语句

    您好 我有这个组合框 如果组合框值显示例如巴黎 我想执行一些命令 Private Sub Workbook open With Sheet1 ComboBox1 AddItem Paris AddItem New York AddItem
  • javascript 函数的变量作用域问题

    我正在尝试使用 spin js 创建一个函数 该函数加载微调器 然后如果使用它的参数再次调用它 则会停止微调器 我无法获得正确的变量范围 因此 当我调用该函数来停止时 我得到一个未定义的信息submitSpinner http jsfidd
  • 使用 Excel VBA 对后续电子邮件进行计数

    我正在使用 Office 2013 我试图获取我的一个电子邮件文件夹中的后续项目的计数 并且该值将被写入单元格中 因此 我在添加 Outlook 对象库引用后使用以下代码 Dim Folder As Outlook MAPIFolder D
  • 在 Windows 构建服务器上使用 Internet Explorer 驱动程序截取屏幕截图时出现黑屏

    我正在我们的构建服务器上使用 selenium 运行几个自动浏览器测试 运行 Chrome 或 Firefox 驱动程序时截取屏幕截图没有问题 但运行 Internet Explorer 驱动程序时 我只是遇到黑屏 虚拟机 硒版本 2 53
  • 在 flutter 应用程序中,目标 S+(版本 31 及更高版本)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一

    Please help me to sort out the problem I give a link to the git https github com Vasajj radio tysa fm git https github c
  • 如何在 Bokeh 中添加文本注释?

    我正在寻找 Matplotlib 类型1 http matplotlib org 1 4 0 users annotations intro htmlBokeh 中的文本注释 但我在他们的用户指南中找不到它2 http bokeh pyda
  • 分析 DNA 序列中的串联重复基序

    嘿 伙计们 由于我是编码世界和 Python 的新手 因此我没有太多编码经验 因此我们将不胜感激 我正在处理 DNA 序列中的短串联重复 我希望有一个代码可以根据指定位点的串联基序读取和计算重复的核苷酸 这是我需要的一个例子 串联图案 AG
  • 如何在 Streamlit 中设置按钮样式

    我的应用程序中有一个按钮 我想在用户单击它时对其进行样式设置 问题是 因为 Streamlit 不允许我们向我们创建的对象发出类 所以我需要找到一种方法来以稳健且与版本无关的方式指定确切的按钮 这是按钮在 Streamlit 中的样子 di
  • 如何使用 vscode 终端打开文件?

    我想打开一个新选项卡并使用打开一个文件vscode终端 like open somefile js命令 所以我可以使用ls并快速打开文件 Use code r
  • Flask 不提供图片

    我创建了一个小型 Flask 应用程序 用于处理和呈现本地计算机上本地使用的数据 我的 Flask 应用程序处理子文件夹中的数据 然后打开网页来显示处理后的数据 除了没有提供图像之外 一切看起来都很棒 例如 生成的 HTMl 源将具有以下内
  • Java中布尔表达式求值顺序?

    假设我有以下表达式 String myString getStringFromSomeExternalSource if myString null myString trim length 0 Eclipse 警告我myString布尔表
  • 如何使用windows cmd查看用户权限?

    我正在尝试使用 Windows 中的命令提示符查看用户权限 用户帐户和用户权限 例如 SeBatchLogonRight SeDenyBatchLogonRight SeInteractiveLogonRight SeDenyInterac
  • 登录到控制台而不是减速器操作内的代理对象时如何查看状态?

    使用时console log 在减速器操作内 状态打印为代理对象 而不是我实际想要查看的对象 我怎样才能看到实际的物体 我正在使用 redux starter kit createSlice 我不确定这是否与之有关 import creat
  • 区块链可以存储在 SQL 甚至 noSQL 数据库中吗?

    我读过 区块链数据库不存储在任何单一位置 这意味着它保存的记录是真正公开的并且易于验证 此信息不存在可供黑客破坏的集中版本 它的数据由数百万台计算机同时托管 互联网上的任何人都可以访问 所以我的问题是我们可以将区块链存储在例如 sql 中吗
  • 如何将ScrollView滚动到文本中的特定位置[重复]

    这个问题在这里已经有答案了 我有一个 ScrollView 里面有一个 TextView 我想将它滚动到某个段落 就像 HTML 中的锚点一样 例如 page html paragraph id 有人知道怎么做吗 Thanks 尝试使用sc
  • 在 CDI 中指定不同的子类实现

    我有两个类 A 和 B 需要使用服务 有两个服务 S1 和 S2 S2 扩展了 S1 我希望将 S1 注入 A 类 将 S2 注入 B 类 我如何在 CDI 中完成此操作 public class S1 public class S2 ex
  • 如何将多首歌曲/曲目加载到pygame中?

    有没有办法将多首歌曲加载到 Pygame 中 我说的不是这样的音效 crash sound pygame mixer Sound crash ogg and pygame mixer Sound play crash 因为我知道显然你可以有
  • Restlet 获取 HTTP 状态代码 204 而不是 200

    对于第一个请求 我收到 JSON 响应 从下一个请求开始 我开始获取此日志和 HTTP 状态代码 204 即使 ServerResource 已成功返回表示 org restlet engine adapter ServerAdapter