NutzCN Logo
问答 请问下怎么在module里取到request里的数据
发布于 2708天前 作者 jjruanlili 1578 次浏览 复制 上一个帖子 下一个帖子
标签:

@At("tpm/pushlantent")
@Ok("json")
public Result pushCustomerLantent(String timestamp, String access_token, String appid, HttpServletRequest request, HttpServletResponse response){
Result re = new Result();
String key = "xx";
if(access_token.equals(MyUtils.md5(key+timestamp)) && appid.equals("xx")){
try {
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
StringBuffer sb = new StringBuffer();
String temp;
while ((temp = br.readLine()) != null) {
sb.append(temp);
}
br.close();
response.setStatus(200);
}catch (Exception e) {
return null;
}
}else{
response.setStatus(401);//401认证失败
return null;
}
return re;
}

上面这样的代码 取不到流数据……

16 回复

发帖/回帖按钮旁边就是 "插入代码或日志" 按钮啊,重新发一次代码

@At("tpm/pushlantent")
    @Ok("json")
    public Result pushCustomerLantent(String timestamp, String access_token, String appid, HttpServletRequest request, HttpServletResponse response){
        Result re = new Result();
        String key = "xx";
        if(access_token.equals(MyUtils.md5(key+timestamp)) && appid.equals("xx")){
            try {
                BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
                StringBuffer sb = new StringBuffer("");
                String temp;
                while ((temp = br.readLine()) != null) {
                    sb.append(temp);
                }
                br.close();
                response.setStatus(200);
            }catch (Exception e) {
                response.setStatus(500);//500异常
                return null;
            }
        }else{
            response.setStatus(401);//401认证失败
            return null;
        }
        return re;
    }

改客户端的逻辑,设置Content-Type为 "application/octet-stream"

好的,先试试看 3q

大神,因为是和第三方对接的,他们已经设定了application/json 不能改了 我们要怎么办?

那没问题,只要不是form就行

你是不是加了适配器?恢复为默认的PairAdapter

额,一般这个会配置在什么地方?我在ioc文件夹下的js里没找到,web.xml里也没找到 XXAdapter

只有一个打印服务的 extends IoHandlerAdapter 应该不会影响整个项目吧

@AdaptBy(type=PairAdapter.class)

话说,你的代码只有读取,没有任何处理逻辑,你怎么知道读取不到流?

因为把这个StringBuffer sb输出过……空的

req.getheader 打印一下Content-Type个Content-Length

查出来了。。。他们是form提交的

这个时候还有得救吗?

有,用JsonAdapter,文档有

噢,先这样吧,对方改json了~ 再次感谢大神

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