SpringMVCに小さな問題があります。基本的に私がやろうとしているのは、AJAXを使用してJSONオブジェクトをサーバーに送信することです。
要するに、JSコードは次のようになります。
var newUser = { "userId":-1, "userName":name };
var notifRecip = {
"emailNotification":jQuery( this ).find( "td:nth-child(3) input[type='checkbox']" ).is( ":checked" ),
"smsNotification":jQuery( this ).find( "td:nth-child(4) input[type='checkbox']" ).is( ":checked" ),
"webNotification":jQuery( this ).find( "td:nth-child(5) input[type='checkbox']" ).is( ":checked" ),
"user":newUser
};
私が正しい場合、それは私のフォームからのデータを含む有効なJSONオブジェクトを私に与えますはい?今私はajax投稿をしています:
jQuery.ajax( "/notifications/saveNewUsers/" + notId, {
dataType:'json',
contentType:"application/json",
type:"POST",
data:( notifRecip )
} )
.success( function ( response )
{
console.log( response )
} );
これまでのところ、私のコントローラーは適切なnotId
値でリクエストを受け取ります。
@RequestMapping(value = "saveNewUsers/{notificationId}", method = RequestMethod.POST, headers = {"content-type=application/json"})
public
@ResponseBody
boolean saveNewUsers( @RequestBody NotificationRecipient notificationRecipient, @PathVariable Integer notificationId )
{
System.out.println( notificationId + " " + notificationRecipient );
return false;
}
ただし、コンソール出力は次のようになります。
18:45:10,947 INFO [stdout] (ajp--127.0.0.1-8009-1) 0 null
そして、私は理由がわかりません。私はSpringMVCにまったく慣れていないので、助けていただければ幸いです。私にはJackson
依存関係があります。
オブジェクトNotificationRecipient
:
public class NotificationRecipient
{
private User user;
private boolean emailNotification;
private boolean smsNotification;
private boolean webNotification;
//with getters and setters
}
およびUser
:
public class User
{
private Integer userId;
private String userName;
//with getters and setters
}