Я хочу загрузить свою таблицу из JSON, который возвращает мои веб-службы REST в SpringMVC, но я получаю следующую ошибку, в которой говорится, что мой метод rest не поддерживает метод GET.
URL-адрес, который сопоставил мой контроллер, - это
http://localhost:8080/MyApp/doc/showDocTable/
и URL меняется с этого на этот
http://localhost:8080/MyApp/doc/showDocTable/?count=10&page=1
Я не знаю, почему URL-адрес меняется на этот, поскольку я делаю только базовый пример с веб-сайта http://ng-table.com/#/loading/demo-external-array
Вот функция в моем контроллере, которая вызывает веб-сервисы
var Api = $resource('http://localhost:8080/MyApp/doc/showDocTable/');
this.tableParams = new NgTableParams({}, {
getData: function (params) {
// ajax request to api
return Api.get(params.url()).$promise.then(function (data) {
params.total(data.inlineCount); // recal. page nav controls
return data.results;
});
}
});
А вот мой метод контроллера в Spring MVC
@RequestMapping(value = "/doc/showDocTable/", method = RequestMethod.GET)
public ResponseEntity<List<HistDoc>> showTable() {
List<HistDoc> listHistDoc = docDAO.getDocs();
return new ResponseEntity<List<HistDoc>>(listaHistDoc, HttpStatus.OK);
}
И вот ошибка, которую я получаю в своем браузере
GET XHR http://localhost:8080/MyApp/doc/showDocTable/?count=10&page=1 [HTTP/1.1 405 Request method 'GET' not supported 6ms]
а тут ошибка в моей консоли
WARN 2016-08-11 12:46:58,206 [http-listener-1(4)] org.springframework.web.servlet.PageNotFound - Request method 'GET' not supported
Я думаю, проблема в том, что ngTable каким-то образом изменяет URL-адрес на этот странный URL-адрес, и мой веб-метод в Spring не знает, что делать.
EDIT 1 Я удалил "/" из URL-адреса моего внутреннего метода, например: `@RequestMapping(value = "/doc/showDocTable", method = RequestMethod.GET) public ResponseEntity > showTable() { Список listHistDoc = docDAO.getDocs();
return new ResponseEntity<List<HistDoc>>(listaHistDoc, HttpStatus.OK);
}`
а также я удалил "/" из метода getData в контроллере angularJs
var Api = $resource('http://localhost:8080/MyApp/doc/showDocTable');
Но теперь я получаю эту ошибку в консоли браузера Firefox.
Error: $resource:badcfg
Response does not match configured parameter
Error in resource configuration for action `get`. Expected response to contain an object but got an array (Request: GET http://localhost:8080/MyApp/doc/showDocTable)
EDIT 2: Вот мой HTML
<div class="col-lg-12" ng-controller="EstHistDoc as demo">
<table ng-table="demo.tableParams" class="table table-bordered table-striped table-condensed">
<tr ng-repeat="row in $data track by row.idDoc">
<td data-title="'Name'" filter="{name: 'text'}" sortable="'name'">{{row.name}}</td>
<td data-title="'Description'" filter="{description: 'text'}" sortable="'description'">{{row.description}}</td>
</tr>
</table>
and here is the JSON that I return from the backend
[
{
"idHisReg":null,
"idDoc":1,
"name":doc one,
"description:" "a description"
},
{
"idHisReg":null,
"idDoc":2,
"name": doc two,
"description:" "a seconddescription"
}
]
http://localhost:8080/MyApp/doc/showDocTable/?count=10&page=1
тот, у которого есть параметры, я получаю эту ошибку в своей консоли в моем бэкэндеWARN 2016-08-11 12:46:58,206 [http-listener-1(4)] org.springframework.web.servlet.PageNotFound - Request method 'GET' not supported
- person Bill_Data23   schedule 11.08.2016http://localhost:8080/MyApp/doc/showDocTable?count=10&page=1
Работает ли с ним бэкэнд? - person Skaparate   schedule 11.08.2016get
. Ожидаемый ответ должен содержать объект, но получен массив - person Bill_Data23   schedule 11.08.2016