2017-02-02 2 views
0

WS Rest Javaを呼び出す際に問題があります。私はWSを呼び出しますが、パラメータは渡されません。AnglesJSでWS Rest Javaを呼び出す

私のJavaコード:

@POST 
@Produces(MediaType.APPLICATION_JSON) 
@Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
public Response setUser(@FormParam("name") String name, @FormParam("surname") String surname, @FormParam("email") String email, 
         @FormParam("phone") String phone, @FormParam("skype") String skype, @FormParam("password") String password){ 
    try { 
     FileOutputStream fis = new FileOutputStream("/home/File.txt"); 
     PrintStream ps = new PrintStream(fis); 
     String s = "name: "+name+"\nSurname: "+surname+"\nEmail: "+email+"\nPhone: "+phone+"\nSkype: "+skype+"\nPassword: "+password; 
     ps.println(s); 
     ps.close(); 
     fis.close(); 
     UserDAO userdao = new UserDAO(0,name,surname,email,phone,skype); 
     userdao.save(); 
     ... 
     return Response.status(200).entity(new ObjectMapper().writeValueAsString("OK!")).header("Access-Control-Allow-Origin", "*").build(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return Response.status(500).entity("ERROR!").header("Access-Control-Allow-Origin", "*").build(); 
    } 
} 

角度コール:私は角度データにデータを記録した場合

data = { 
    name: $scope.reg_name, 
    surname: $scope.reg_surname, 
    email: $scope.reg_email, 
    phone: $scope.reg_phone, 
    skype: $scope.reg_skype, 
    password: $scope.reg_password 
    } 
$http.post(baseUrl+'user/',data,{ 
    headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 
    }); 

、呼設定が動作しますが、私はのでAccountDAOオブジェクトを作成するときに、私は、エラーをしたしていますパラメータはnullです。私は、ファイルを作成し、ここに値を入れてパラメータ値をテストするには、コンテンツがこのです:

名:ヌル

姓:ヌル

メール:ヌル

電話:ヌル

スカイプ:ヌル

パスワード:ヌル

パラメータを渡すのはなぜですか?

ありがとうございます!

は解決:

data = "name=" + $scope.reg_name + 
"&surname=" + $scope.reg_surname + 
"&email=" + $scope.reg_email + 
"&phone=" + $scope.reg_phone + 
"&skype=" + $scope.reg_skype + 
"&password=" + $scope.reg_password; 
    } 
$http.post(baseUrl+'user/',data,{ 
headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 
    }) 

おかげでグリズリー!

答えて

1

JSONとしてデータを送信しています。それをデータ文字列の形に変更します。

data = "name=" + $scope.reg_name + 
    "&surname=" + $scope.reg_surname + 
    "&email=" + $scope.reg_email + 
    "&phone=" + $scope.reg_phone + 
    "&skype=" + $scope.reg_skype + 
    "&password=" + $scope.reg_password; 
    } 
$http.post(baseUrl+'user/',data,{ 
    headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 
    }) 
関連する問題