Я пытаюсь узнать, как подключить приложение React Native (в настоящее время также использующее expo) к серверу Spring Boot.
Я видел похожие вопросы об этом сообщении об ошибке в Интернете с ответом, что это проблема, вызванная ошибкой в URL. Это тот случай? Другой ответ, который я увидел, заключался в том, что «нераспознанный токен» <»означал, что ответ возвращался в формате html, а не в JSON, однако при тестировании запроса GET к моему API в Postman я получил JSON: [{" id ": 1, "organizer": "OrganizerTest1", "location": "LocationTest1"}, ...] </p>
Для моего приложения « exp: //172.20.10.6: 19000 » - это порт приложения (по крайней мере, я так думаю).
Но я получаю ошибку синтаксического анализа JSON.
"Ошибка разбора JSON: нераспознанный токен '<'
- node_modules / обещание / setimmediate / core.js: 37: 14 в tryCallOne
- node_modules / обещание / setimmediate / core.js: 123: 25 в
- ... еще 8 стековых фреймов из внутренних компонентов фреймворка "</p>
class GamesCollection extends Component {
constructor(props){
super(props);
this.state = {
loading: true,
error: false,
games: [],
}
}
componentDidMount = async () => {
try {
let response = await fetch('http://172.20.10.6:19000/games',{
headers:{
Accept:'application/json',
'Content-Type':'application/json',
}
})
let games = await response.json()
this.setState({loading: false, games})
} catch (e) {
console.log(e);
this.setState({loading: false, error: true})
}
}
server in Java Spring Boot:
@RestController
@RequestMapping("/")
public class GameController {
private final GameRepository repository;
GameController(GameRepository repository) {
this.repository = repository;
}
//Aggregate root
@GetMapping("/games")
@CrossOrigin(origins = "")
public List<Game> all() {
return repository.findAll();
}