- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Resteasy 学习 Web 服务
我正在做一个简单的基本示例,使用 @FormParam
轻松休息。我的示例在请求方法为 POST
时有效但是当我将请求方法更改为 GET
@Path("/form")
public class FromParamService {
@POST
@Path("/add")
public Response addUser(
@FormParam("name") String name,
@FormParam("age") int age) {
return Response.status(200)
.entity("addUser is called, name : " + name + ", age : " + age)
.build();
}
@GET
@Path("/adduser")
public Response addUser1(
@FormParam("name") String name,
@FormParam("age") int age) {
return Response.status(200)
.entity("addUser is called, name : " + name + ", age : " + age)
.build();
}
}
GET 的输出是
addUser is called, name : null, age : 0
POST 的输出是
addUser is called, name : Abhi, age : 23
GET请求的jsp是
<html><body>
<form action="rest/form/adduser" method="get">
<p>
Name : <input type="text" name="name" />
</p>
<p>
Age : <input type="text" name="age" />
</p>
<input type="submit" value="Add User" />
</form></body></html>
而POST请求的Jsp是
<html><body>
<form action="rest/form/add" method="post">
<p>
Name : <input type="text" name="name" />
</p>
<p>
Age : <input type="text" name="age" />
</p>
<input type="submit" value="Add User" />
</form></body></html>
我的问题是为什么我无法通过 @FormParam
使用 GET 请求获取值?
最佳答案
GET 请求的默认行为是将键/值放在 query string 中.如果您查看 URL 栏,您可能会看到类似于
http://localhost:8080/app/form/addUser?name=something&age=100
与 POST 请求相反,此 oart name=something&age=100
实际上将位于请求正文中,而不是 URL 中。这是 @FormParam
工作的地方,因为它是 application/x-www-form-urlencoded
数据类型的主体。 GET 请求应该没有正文,所以数据在 URL 中发送。
为了让 GET 请求起作用,我们需要一个不同的注释来处理查询字符串。该注释是 @QueryParam
。因此,只需将 @FormParam("name")
替换为 @QueryParam("name")
并且年龄相同
关于java - @FormParam 不适用于 GET 方法-RestEasy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29789801/
我有一个方法可以返回父记录的所有子记录(例如文档和行): public Datasource getSonsFromParent( @FormParam(value = "idparent") Lon
由于在此应用程序中动态创建 html 表单元素,因此元素的数量未知。如何使用@FormParam注解获取元素信息?例如,下面的代码获取两个表单元素的信息: @POST @Path("/
我的 html 中有以下内容 function myForm() { var url = 'rest/products/details/'; var fo
我将以下内容从浏览器传递到服务器 Status Code:204 No Content Request Method:POST Content-Type:application/x-www-form-
我正在使用最新版本的 Spring。我必须与A公司的第三方服务器集成。现在,A公司给了我这个代码: Path("/user") public class CallBacks { String
我正在使用 Indy10。我的服务器正在处理表单发布。 ARequestInfo.FormParams 正确包含未解析的表单参数。但是 ARequestInfo.Params.count 是 0。有没
我有 HTML 表单数据并被传递给 RESTful POST 方法。我注意到如果@FormParam 声明为 @POST public void commitProjects( @FormParam(
我正在为书籍和内容开发 Java“JAX-RS”Web 服务。将会有数百个类似的 URL ... https://api.example.com/v1.3/book1/chapter/1 https:
在 Java 中,我正在实现一个服务器,客户端可以在其中使用后查询传递一些数据(键值对)。我已经决定制作一个 REST 服务,并且我计划将 JAX-RS 与 Jetty 一起使用。 我之前不知道要发送
@FormDataParam 和@FormParam 有什么区别? 我在一个方法中使用了多个 @FormDataParam 但它抛出了媒体不支持的类型错误。但是当我使用 @FormParam 时,我得
谁能帮我解决这个问题。 我使用resteasy 和wildfly 8.1.0 创建了一个Web 服务,但@FormParam 总是返回null。 用户服务.java Path("/user") @Pr
因此,我在 Felix 框架内使用 Amdatu 来创建支持 OSGi 的 JSON Rest 服务。 当我使用@GET时,我得到了预期的id值 @GET @Produces(MediaType.AP
我正在制作一个REST客户端,它接收一个POST,其中包含用作查询的过滤器的数据。我的问题是当客户向我发送 "%" 来搜索所有值时。 Jersey 向我发送以下错误 11:36:35,857 ERRO
我正在使用 Java 和 Jersey 1.16。 @FormParam 参数的名称区分大小写吗?我可以以某种方式强制它不区分大小写吗? (希望以某种全局性的方式)。 最佳答案 您可以过滤请求: pu
我正在开发一个服务器端应用程序(不是客户端)。我有一个列表操作,其中使用 @GET 并将参数作为 @QueryParam 传递。我应该使用@FormParam 吗?对开发客户端有帮助吗? 最佳答案 @
我正在尝试通过 POST 向 RestAssured 端点提交一些 JSON。 API 需要一个 key 列表。我需要发送的值是一个包含单个项目的列表。 理想的请求如下: Request method
如果我有类似的东西: @PUT @Path("/login") @Produces({"application/json", "text/plain"}) @Consumes("application
我正在使用 Resteasy 学习 Web 服务 我正在做一个简单的基本示例,使用 @FormParam 轻松休息。我的示例在请求方法为 POST 时有效但是当我将请求方法更改为 GET 时不起作用
客户: 我确实像这样在 angular2 中发帖: doSelectMessagesAttributesUrl2(pushRequest : PushRequest) { console.in
免责声明:我确实详尽地搜索了这个问题的答案,是的,我确实找到了另一个问题:https://stackoverflow.com/questions/10315728/how-to-send-parame
我是一名优秀的程序员,十分优秀!