【问题标题】:Store null values in database while trying to save data using spring mvc angular js尝试使用spring mvc angular js保存数据时在数据库中存储空值
【发布时间】:2018-11-12 05:12:25
【问题描述】:

角度js代码

 <body data-ng-app="myApp" data-ng-controller="UserController as userBean">
<form method="post" action="register" name="myForm">
<div class="form-group col-lg-7" >
  <label for="username" class="control-label">First Name:</label>
  <input type="text" data-ng-model="userBean.username" class="form-control"  placeholder="Enter Firstname"/><br>
   <label for="phone" class="control-label">Phone:</label>
  <input type="text" data-ng-model="userBean.phone" class="form-control"  placeholder="Enter phone no."/><br>
  <label for="email" class="control-label">Email:</label>
  <input type="text" data-ng-model="userBean.email" class="form-control"  placeholder="Enter email"/><br>
  <label for="address" class="control-label">Address:</label>
  <input type="text" data-ng-model="userBean.address" class="form-control"  placeholder="Enter address"/><br>
  <label for="password" class="control-label">Password:</label>
  <input type="password" data-ng-model="userBean.password" class="form-control"  placeholder="Enter password"/><br>
</div>
<div class="form-group col-lg-7">
   <button type="submit" data-ng-click="insertData()" class="btn btn-primary">Submit</button>
</div>
</form>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller("UserController", ['$scope', '$http', function($scope, $http, httpPostService) {
 var self=this;

$scope.insertData = function()
{
    alert($scope.userBean.username, $scope.userBean.phone, $scope.userBean.email);
     $http({
         method: "POST",
         url: "register",
         data:{
         username: $scope.userBean.username,
         phone: $scope.userBean.phone,
         email: $scope.userBean.email,
         address: $scope.userBean.address,
         password: $scope.userBean.password}
        }).then(function(response){
         console.log(response.status);
         console.log("in success");

     }, function(response){
         console.log(response.status);
         console.log("in fail");     
     });
};
}]);
</script>

控制器代码

@RequestMapping(value="/register", method = RequestMethod.POST, consumes="application/json")
    public @ResponseBody ModelAndView doRegister(@ModelAttribute @RequestBody UserBean userBean, BindingResult result)
    {

        if(!result.hasFieldErrors())
        {
            if(retrieveService.insert(userBean) != null)
            {
                System.out.println("done");

            }

        }   
        return new ModelAndView("redirect:/welcome");

    }
}

我认为是控制器问题。 userBean 具有空值以将其传递给控制器​​。好心的人帮助我 错误也来了

HTTP 状态 415 - 不支持的媒体类型 源服务器拒绝为请求提供服务,因为有效负载的格式不 在目标资源上受此方法支持。

【问题讨论】:

    标签: mysql angularjs spring spring-mvc


    【解决方案1】:

    在您的请求标头中设置内容类型 JSON,如下所示。

    $http({
             method: "POST",
             url: "register",
             data:{
             username: $scope.userBean.username,
             phone: $scope.userBean.phone,
             email: $scope.userBean.email,
             address: $scope.userBean.address,
             password: $scope.userBean.password},
             headers: {'Content-Type': 'application/json'}
            })
    

    【讨论】:

    • 在控制台显示类似这样的错误加载资源失败:服务器响应状态为 415 ()
    【解决方案2】:

    在可以有空值的字段上使用@JsonIgnore。

    【讨论】:

      猜你喜欢
      • 2013-05-27
      • 1970-01-01
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      相关资源
      最近更新 更多