Я пытаюсь создать свой собственный API с помощью Spring Boot, который на данный момент использует доступ к внешним данным из API качества воздуха.
У меня есть объект CityInfo:
@Entity
public class CityInfo{
@Id
private String id;
private String name;
public CityInfo(){
}
public CityInfo(String id, String name) {
super();
this.id = id;
this.name = name;
}
.
.
.
}
Rest Controller:
@Autowired
private CityInfoService cityInfoService;
@Autowired
private CityInfoRepository cityInfoRepository;
@GetMapping("/CityInfo")
public List<CityInfo> getAllCityInfo() {
return cityInfoRepository.findAll();
}
@PostMapping ("/CityInfo")
public void addCityInfo(@RequestBody CityInfo cityInfo) {
cityInfoService.add(cityInfo);
}
Когда дело доходит до публикации в "localhost: port / CityInfo", почтальон отлично работает с {"id": "1", "name": "London"} и это читается в "/CityInfo".
Когда я пытаюсь опубликовать с использованием JS, он возвращает ошибку 415, которая предположительно" 415 Unsupported Media Type ".
function postData(){
let id = "31";
let name = "CITYCITY"
fetch('http://localhost:8084/CityInfo', {
method: 'POST',
body:JSON.stringify({"id":id,
"name":name})
}).then((res) => res.text())
.then((text)=>console.log("text:"+ text))
.catch((err)=>console.log("err:" + err))
}
postData();
Вкл. консоль возвращается: «Не удалось загрузить ресурс: сервер ответил с состоянием 415 ()» *
Я полагаю, я отправляю JSON с неправильным форматом, но это не похоже на мне по крайней мере.
Любая помощь будет отличной. Ты
Редактировать: Фото почтальона ![enter image description here](https://i.stack.imgur.com/JR3ej.png)
function postData(){
let id = "31";
let name = "CITYCITY"
fetch('http://localhost:8084/CityInfo', {
method: 'POST',
body:JSON.stringify({"id":id,
"name":name}),
contentType: 'application/json',
contentEncoding: 'gzip',
contentEncoding: 'deflate',
contentEncoding: 'br',
}).then((res) => res.text())
.then((text)=>console.log("text:"+ text))
.catch((err)=>console.log("err:" + err))
}
postData()
Возвращает: POST http://localhost: 8084 / CityInfo 415