Получить данные API SwiftUI

Мне нужно добавить author_id в апи, чтобы он выдавал мне все статьи автора.

Здесь, в SelectedAuthorView, я получаю связанные authorPost. В этом authorPost тоже есть author_id.

Ниже мой SelectedAuthorView, здесь я пытался получить данные API, но сначала я не хочу получать API внутри представления. Второй я не знаю как перенести этот выбранный авторский пост себе в AuthorService

struct SelectedAuthorView: View {
var authorPost: AuthorPost
var body: some View {
        NavigationView {
            VStack {
                AuthorListElementView(authorPost: authorPost)
                if let selectedAuthorUrl = URL(string:"http://xxxx\(authorPost.author_id)/") {
                    let session = URLSession(configuration: .default)
                    var request = URLRequest(url: selectedAuthorUrl)
                    request.httpMethod = "GET"
                    do {
                        request.httpBody = try JSONSerialization.data(withJSONObject: Any, options: .prettyPrinted)
                    } catch let error {
                        print(error.localizedDescription)
                    }
                } 
             }
         }
      }
   }
}

Также это API, который мне нужен для получения данных из [![введите описание изображения здесь][1]][1]

Требуется помощь, чтобы получить данные из этого API.

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
1
0
132
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать ViewModel : ObservableObject

И ваш код будет таким:

The viewModel :

    class ViewModel : ObservableObject {
      
      func fetchData(authorPost: AuthorPost){
      if let selectedAuthorUrl = URL(string:"http://yazar.io/api/author/article/list/\(authorPost.author_id)/") {
                    let session = URLSession(configuration: .default)
                    var request = URLRequest(url: selectedAuthorUrl)
                    request.httpMethod = "GET"
                    do {
                        request.httpBody = try JSONSerialization.data(withJSONObject: Any, options: .prettyPrinted)
                    } catch let error {
                        print(error.localizedDescription)
                    }
                } 
      }
    }

.

struct SelectedAuthorView: View {
var authorPost: AuthorPost 
@ObservedObject var viewModel = ViewModel()
var body: some View {
        NavigationView {
            VStack {
                AuthorListElementView(authorPost: authorPost)
             }
         }.onAppear{
           self.viewModel.fetchData(authorPost:authorPost)
         }
      }
   }
}

Я не знаю, как // -- > здесь вам нужно поместить полученные данные в authorPost

Mert Köksal 22.12.2020 17:12

@MertKöksal Я обновил свой ответ, теперь он должен работать на вас

Ouail Bellal 22.12.2020 17:30

Спасибо, но у меня ошибка внутри selectedAuthorView.

Mert Köksal 22.12.2020 20:58

Другие вопросы по теме