0

angularjs コード:

$http({
    method: 'POST',
    url:'/hello/rest/user/test',
    data: {user: 'aaaaa'}
});

サーバーコード:

@POST
@Path("/test")
public Response merge(@Context HttpServletRequest request) {
    System.out.println(request.getParameter("user"));
    if (request.getParameter("user") == null) {
        return Response.status(Status.BAD_REQUEST).build();
    }
    return Response.ok().build();
}

request.getParameter("user") は null です。この方法ではパラメータを修正できません。

4

2 に答える 2

1

リクエストパラメーターを使用する場合は、データを次のように渡す必要があります

$http.post('/hello/rest/user/test', {
    user : 'aaaaa'
    }, {
        headers : {
            "Content-Type" : 'application/x-www-form-urlencoded;charset=utf-8'
        },
        transformRequest : [function(data) {
            return angular.isObject(data)
                    ? jQuery.param(data)
                    : data;
        }]
    });

この質問も読んでください

于 2013-04-26T02:41:10.860 に答える
0

post パラメータではなく body を見る必要があります...

POST パラメータを受け取っていない可能性があります。

この {"user":"aaaaa"} のような本文を受け取っており、その JSON 応答を解析する必要があります。

于 2013-04-25T14:54:30.167 に答える