Угловой клиент не вызывает бэкэнд-сервис

Я разрабатываю пример приложения, в котором я использую Angular 5 для front end и Go Lang для сервисов отдыха (веб-сервисы). Здесь мой угловой вызов не вызывает, но эти службы работают нормально, когда я запускаю из Google, вставляя URL-адрес, и я добавил CORS в Go. Вот мой угловой код:

export class TestServiceService {

private url2 ='http://localhost:8000/api/books/';

  constructor(private http : HttpClient) { }

  getValues() 
  {
    debugger;
     return this.http.get(this.url2);
  };

}

Вот мой код Go package main

import (
    "encoding/json"
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)

//Book struct
type Book struct {
    RollNo    string `json:"rollNo"`
    FirstName string `json:"firstName"`
    Author    string `json:"author"`
}

var books []Book

func getBooks(w http.ResponseWriter, r *http.Request) {
    fmt.Println("Method hit")
    w.Header().Set("Content-Type", "application/json")
    json.NewEncoder(w).Encode(books)
}

func main() {
    r := mux.NewRouter()

    fmt.Println("started service")

    books = append(books, Book{RollNo: "1", FirstName: "Ravi", Author: "Dan"})

    r.HandleFunc("/api/books/", getBooks).Methods("GET")

    log.Fatal(http.ListenAndServe(":8000", r))
}

Вот скриншот, в котором служба работает нормально:

Здесь сервисный метод не вызывается с угловым и ошибок нет

-1
задан 13 August 2018 в 15:56

2 ответа

вы должны импортировать и вставлять HttpClient,

import {Injectable} from '@angular/core';
import {HttpClient} from '@angular/common/http';

@Injectable()
export class TestServiceService {

private url2 ='http://localhost:8000/api/books/';

constructor(private http : HttpClient) { }

getValues() 
{
    debugger;
    return this.http.get(this.url2);
};


}
0
ответ дан 15 August 2018 в 17:00

Как вы назвали метод услуг в угловом компоненте?

Обратитесь к разделу HttpClient с угловым направлением. https://angular.io/guide/http#getting-json-data

Поскольку вы не показывали код для углового компонента, я не знаю причину вашего ploblem. Я предполагаю, что вы можете подписаться на Observable, который является возвращаемым значением метода getValues. Он должен выглядеть следующим образом (см. Документы):

showConfig() {
  this.configService.getConfig()
    .subscribe((data: Config) => this.config = {
        heroesUrl: data['heroesUrl'],
        textfile:  data['textfile']
    });
}
0
ответ дан 15 August 2018 в 17:00

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

Похожие вопросы: