Мой метод GET работает нормально с Json, но я всегда получаю сообщение об ошибке при использовании метода post.Я использовал коды, которые приведены ниже.
RestController
@RestController
@RequestMapping("/api")
public class AjaxApiRestController {
private static final String[] province = {
"Aragon",
"Catalonia"
};
private static final String[][] district = {
{"Barbastro","Fraga","Jaca"},
{"Granollers","Vich","Barcelona"}
};
@GetMapping("/ajax/district") //it working!
public List<String> getDistrict(@RequestBody Province province){
for(int i=0; i<this.province.length; i++){
if(this.province[i].equals(province.getProvince())){
return Arrays.asList(district[i]);
}
}
return null;
}
@PostMapping("/ajax/district") //it's not working!
public List<String> getDistrictPost(@RequestBody Province province){
for(int i=0; i<this.province.length; i++){
if(this.province[i].equals(province.getProvince())){
return Arrays.asList(district[i]);
}
}
return null;
}
}
Провинция
class Province{
private String province;
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
}
Я использую Postman
проверить метод RestController
.
In GET
: отправив эту команду, я получаю следующий вывод.
{
"province":"Catalonia"
}
GET:
[
"Granollers",
"Vich",
"Barcelona"
]
В методе POST
: отправив эту команду, я получаю следующий вывод.
{
"province":"Catalonia"
}
Вывод POST:
{
"timestamp": "2019-02-25T08:52:10.850+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/api/ajax/district"
}
AsВ результате, когда мы проверяем коды, метод GET работает, а метод POST не работает.Почему не работает метод post, когда работает метод Get?Есть ли в коде ошибка, которую я не вижу?Кто-нибудь может помочь?