NutzCN Logo
问答 Nutz PUT接收值的问题
发布于 2699天前 作者 qq_89093634 1621 次浏览 复制 上一个帖子 下一个帖子
标签:

在标注@PUT后,参数接收不到

这是后台代码
```java
@At("/order/")
@PUT
@Ok("json")
public Object updateOrder(@Param("id") long id) {
System.out.println(id);
JsonResult result = JsonResult.createSuccess();
return result;
}



这是模拟请求代码

public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient.Builder().build();
FormBody fb = new FormBody.Builder().add("id","1234567").build();
Request request = new Request.Builder().url("http://127.0.0.1:8088/api/mct/order").put(fb).build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
```

后台输出id为0,是要加上特定的适配器吗?还是别原因?

7 回复

设置一下header的Content-Type试试

重新插一下代码,没高亮

后台

@At("/order/")
 @PUT
 @Ok("json")
 public Object updateOrder(@Param("id") long id) {
 System.out.println(id);
 JsonResult result = JsonResult.createSuccess();
 return result;
 }

模拟请求

public static void main(String[] args) throws Exception {
 OkHttpClient client = new OkHttpClient.Builder().build();
 FormBody fb = new FormBody.Builder().add("id","1234567").build();
 Request request = new Request.Builder().url("http://127.0.0.1:8088/api/mct/order").put(fb).build();
 Response response = client.newCall(request).execute();
 System.out.println(response.body().string());
 }

已加,还是不行

Request request = new Request.Builder().url("http://127.0.0.1:8088/api/mct/order").header("Content-Type","application/x-www-form-urlencoded").put(fb).build();
log.debug(">>", Mvcs.getReq().getParameter("id"));

看看输出啥

System.out.println(Mvcs.getReq().getParameter("id")); >> null

输出null

看来是容器没有解析里面的表单呢

看来不是nutz的锅,我要去找汤姆猫了

添加回复
请先登陆
回到顶部