当前位置: 首页 > 知识库问答 >
问题:

我们如何使用Jersey在请求中发送未注释的方法参数?

慕光霁
2023-03-14
 Unlike method parameters that are associated with the extraction of request parameters, 
 the method parameter associated with the representation being consumed does not require 
 annotating.  A maximum of one such unannotated method parameter may exist since there 
 may only be a maximum of one such representation sent in a request.
 @Path("restful")
 public class MyResource{
   ...
   @GET
   @Produces("application/text")
   public String getStringResp(String param){
      ...
      return "some value";
   }
   ....
 }

请帮我弄明白这一点?

提前致谢

共有1个答案

秋飞鸾
2023-03-14

首先要理解的是,请求主要有两个部分,主体和标题。您发布的文档所说的是,一个无注释的参数最终是请求的主体。

通常不会发送任何带有get请求的实体正文,但是对于putpost,有put(entity entity)Ivocation.builderSyncInvoker继承了SyncInvoker

entity类具有静态方法,我们可以从这些方法形成实体主体。例如

                        // application/json data
target.request().post(Entity.json(jsonStringDataOrPojo));

                        // application/xml data
target.request().post(Entity.xml(xmlStringDataOrPojo));

                        // text/plain data
target.request().post(Entity.entity(stringData, MediaType.TEXT_PLAIN));

                        // text/plain data 
target.request().post(Entity.text(stringData));

如果你有

@POST
@Consumes(MediaType.TEXT_PLAIN)
public Response postString(String param){

然后您需要发送纯文本,即上面最后一个示例之一

  • 查看有关使用客户端API的更多信息
 类似资料:
  • 问题内容: 我刚刚开始在Java 8中使用注释,并得到了一些意外的结果。 我有这样的方法: 我编写了一个JUnit测试,为参数searchList传递了空值。我原以为会发生某种类型的错误,但好像没有注释就通过了。这是预期的行为吗?据我了解,这是允许您跳过编写样板空检查代码。 对于@NotNull应该做什么的解释将不胜感激。 问题答案: 和自己做什么。它们应该充当文档工具。 该注释提醒您在以下情况下

  • 我编写了一个JUnit测试,为参数searchingList传入null值。我原以为会发生某种类型的错误,但结果好像注释不在那里一样。这是意料之中的行为吗?根据我的理解,这是允许您跳过编写样板空校验代码。 如果能解释一下@NotNull到底应该做什么,将会非常感谢。

  • null 所有步骤2、3和4都将在一个带有@async注释的方法中执行。问题是,如果我重新启动后端服务器,只发送一个下载请求,一切都很好,这意味着电子邮件可以收到。但发送更多下载请求后就不起作用了。不会再发送电子邮件。没有错误,没有警告,但所有需要的数据都被正确接收,只是没有电子邮件被发送出去。 有人知道它的问题是什么吗? 我的电子邮件发件人:

  • 我试图在ajax调用中发布json请求,但我没有收到来自请求的任何成功响应。 请找到我下面的代码:我在这里做错了什么: 它击中了网址,我得到200确定状态,但它总是出错条件... 有人能帮忙吗,我需要改变什么工作: 我尝试了data:JSON. stringify({key:"value", key1:"value e1"})-但这也没有帮助

  • 由于请求的不同用法和注释,我一直很困惑

  • 问题内容: 我需要一个简单的代码示例,该示例发送带有从表单输入中获取的post参数的http post请求。我找到了Apache HTTPClient,它具有非常广泛的API和许多复杂的示例,但是我找不到一个简单的示例来发送带有输入参数的http post请求并获取文本响应。 更新: 我对Apache HTTPClient v.4.x感兴趣,因为不推荐使用3.x。 问题答案: 使用Apache H