2013-06-29 45 views
1

我收到以下錯誤,當我嘗試後輸入字段值到我的控制器/法和轉換JSON的Java對象。我找不出錯誤在哪裏。無法識別領域 - 沒有標記爲可忽略的錯誤 - JSON - Java對象

有人能幫我解決嗎?

錯誤:

Unrecognized field "userId" (Class models.SignupCred), not marked as ignorable at [Source: N/A; line: -1, column: -1] (through reference chain: models.SignupCred["userId"]) 

型號:

import org.codehaus.jackson.annotate.JsonIgnoreProperties;  
import com.google.code.morphia.annotations.Id; 

@JsonIgnoreProperties 
public class SignupCred { 
    @Id 
    String userId; 
    String firstName; 
    String lastName; 
    String langCode; 
    String email; 
    String password; 
    String residentCountryCode; 
    String contactPrefEmail; 
} 

的Javascript:

$(document).ready(function() { 
    $("#signup").click(function() { 
     var user = new Object(); 
     user.userId = $('#userId').val(); 
     user.firstName = $('#firstName').val(); 
     user.lastName = $('#lastName').val(); 
     user.langCode = $('#langCode').val(); 
     user.Email = $('#email').val(); 
     user.password = $('#password').val(); 
     user.residentCountryCode = $('#residentCountryCode').val(); 
     user.contactPrefEmail = $('#contactPrefEmail').val(); 

     $.ajax({ 
      url: "/submitsignup", 
      type: "POST", 
      contentType: "application/json", 
      data: JSON.stringify(user),  
      success: function(data, textStatus, xhr) { 
       var resp = JSON.parse(xhr.responseText); 
       window.location.replace(resp.message); 
      } 

     }); 
     }); 

}); 

控制器:

public Result submitsignup() 
    { 
     JsonNode node = request().body().asJson(); 
     SignupCred signupdata=null; 
     try { 
      signupdata = objectMapper.readValue(node, SignupCred.class); 
      if (signupdata == null) 
       return status(BAD_REQUEST, GenericUtils.createErrorResponseAsJson(BAD_REQUEST, Messages.get("error sign up AC.java", ""))); 
      String userId = signupservice.createUser(signupdata); 
      if(userId!=null) 
      { 
       String userType="myacct1"; 
       if (userType!=null) { 
        session(Constants.USERTYPE,userType); 
        session(Constants.LOGIN_KEY, "myacct1"); 
       }}} 

     catch(Exception e) 
     { 
      Logger.error(e.getMessage()); 
     } 
     return ok(index.render("Login")); 
    } 

signup.scala.html:

<div class="login-input-container">       
    <div class="error-message-container login" id="errorMessageContainer" style="display:none">  
     <p id="errorMessage" class="error-text"></p> 
    </div> 
    <input id="userId" name="userId" type="text" placeholder="userId" autocomplete="off" class="inputtag"/> 
    <input id="firstName" name="firstName" type="text" placeholder="firstName" autocomplete="off" class="inputtag"/>   
    <input id="lastName" name="lastName" type="text" placeholder="lastName" class="inputtag" /> 
    <input id="langCode" name="langCode" type="text" placeholder="en" class="inputtag" /> 
    <input id="email" name="email" type="text" placeholder="email" class="inputtag" /> 
    <input id="password" name="password" type="text" placeholder="Password" class="inputtag" /> 
    <input id="residentCountryCode" name="residentCountryCode" type="text" placeholder="ISO country code" class="inputtag" /> 
    <input id="contactPrefEmail" name="contactPrefEmail" type="text" placeholder="Y" class="inputtag" /> 
    <input type="button" class="btn" value="Already a User?" id="signin" onclick="/loginpage"/> 
    <input type="button" class="btn" value="Sign Up" id="signup"/> 
</div> 
+0

@Baadshah ...當然!刪除了評論,並確實減少了一點,但由於我不確定錯誤位置 – pret

+0

可能在你的模型中設置了「@JsonIgnoreProperties(ignoreUnknown = true)」,所以無法進一步完善。 –

回答

0

問題是與user.Email。它應該是user.email

相關問題