2017-04-16 78 views
0

我正在嘗試使用角度和彈簧引導創建一個簡單的用戶創建程序。在用戶創建部分,我收到了異常:循環視圖路徑[createUser]:將再次發送回當前處理程序URL [/ createUser]。檢查你的ViewResolver設置! (提示:由於默認的視圖名稱生成,這可能是未指定視圖的結果)。圓形視圖路徑異常

我已經看到堆棧溢出有關同一問題的多個答案,但我無法解決此問題。

附上代碼:

 @RequestMapping(value="/createUser",method=RequestMethod.POST,consumes = MediaType.APPLICATION_JSON_VALUE) 
public void createUser(@RequestBody String user) throws JsonParseException, JsonMappingException, IOException{ 
    ObjectMapper mapper=new ObjectMapper(); 
    User userObj=mapper.readValue(user, User.class); 
    UserFunction uf = new UserFunction(); 
    uf.createUser(userObj); 
} 

網頁:

<body> 
<div ng-app="MyApp" ng-controller="MyCtrl as ctrl"> 
    <form ng-submit="createUser()" name="myForm"> 
     <table> 
      <tr> 
       <td>Id</td> 
       <td><input type="text" ng-model="user.id" value="user.id"> 
      </tr> 
      <tr> 
       <td>Name</td> 
       <td><input type="text" ng-model="user.name" value="user.name"> 
      </tr> 
      <tr> 
       <td>Age</td> 
       <td><input type="text" ng-model="user.age" value="user.age"> 
      </tr> 
      <tr> 
       <td></td> 
      </tr> 
     </table> 
     <input type="submit"> 
     <h2>Id: {{user.id}}</h2> 
    <h2>Name: {{user.name}}</h2> 
    <h2>Age: {{user.age}}</h2> 
    </form> 
</div> 

<script> 
    var app = angular.module("MyApp", []); 
    app.controller("MyCtrl", function($scope, $http) { 
     $scope.user = { 
      name : "", 
      id : 0, 
      age : 0 
     }; 
     $scope.createUser = function() { 
      var data=JSON.stringify($scope.user); 

      $http.post("/createUser", data).then(function() { 
       alert("User created"); 
      }, function() { 

      }) 
     } 
    }) 
</script> 

從回答這個問題,在論壇上,我明白我必須做出的配置,但其中的一些變化做出這些改變。我無法理解。 請幫忙。 在此先感謝!

+0

你希望創建用戶請求在'uf.createUser(...)'進程之後結束? –

+0

我希望用戶重定向到User.html頁面 – Jayant

回答

1

問題解決後,我改變了我的控制功能:

@RequestMapping(value="/createUser",method=RequestMethod.POST,consumes = MediaType.APPLICATION_JSON_VALUE) 
public @ResponseBody ResponseEntity createUser(@RequestBody String user) throws JsonParseException, JsonMappingException, IOException{ 
    ObjectMapper mapper=new ObjectMapper(); 
    User userObj=mapper.readValue(user, User.class); 
    UserFunction uf = new UserFunction(); 
    uf.createUser(userObj); 
    return new ResponseEntity(HttpStatus.OK); 
} 
0

這裏您的視圖解析器不知道在哪裏其實重定向一次createUser方法執行的控制。就像@Jayant所說的,嘗試在createUser方法中添加@ResponseBody方法,以便視圖解析器不會查找重定向頁面,而是將響應原樣發送到調用位置。