Я работаю над сценарием «Поиск форм» в Angular7. Я использовал http GET, встроенный в http POST, хотя для этого нужно извлечь массивы объектов json из базы данных mysql, используя angular в качестве внешнего интерфейса и подпружиненный загрузчик в качестве внутреннего. Вся внутренняя часть реализована, и у меня возникают проблемы с передачей этих данных во внешний интерфейс, потому что я использовал запрос POST Http.
Я тоже пытался использовать Http GET. Но мне нужно передать вложенный объект JSON. Так что я использовал POST.
Это мой бэкэнд-код для весенней загрузки:
SearchOutput[] search_output;
@PostMapping(value="/service")
@CrossOrigin(origins = "http://localhost:4200",allowedHeaders = "*")
public ArrayList<SearchOutput> SearchContract(@RequestBody SearchContract search_input) throws InterruptedException {
rooms_adults[] rooms_adults2 = search_input.getRooms_adults();
ArrayList<SearchOutput> OutputArray = new ArrayList<SearchOutput>();
SearchOutput singleOutput;
List<Integer> hotel_ids ;
for (rooms_adults r_a : rooms_adults2) {
hotel_ids= trueContdao.getHotelId(search_input.getCheck_in_date(), search_input.getCheck_out_date());
for (int id:hotel_ids){
List<Room_Type> roomTypes = roomTypedao.getHotelRoomType(id,r_a.getTotal_rooms(), r_a.getTotal_adults());
for(Room_Type room:roomTypes){
singleOutput=new SearchOutput(hotelContdao.getHotelName(room.getHotel_id()),room.getRoom_type(), (float) (room.getPrice()*search_input.getTotal_nights()*r_a.getTotal_adults()*r_a.getTotal_rooms()*1.15));
OutputArray.add(singleOutput);
}
}
}
return OutputArray;
}
И мой код переднего конца -
import { Injectable } from '@angular/core';
import { HttpClient ,HttpErrorResponse, HttpHeaders} from '@angular/common/http';
import { SearchOutput } from './SearchOutput.model';
@Injectable({
providedIn: 'root'
})
export class SearchService {
uri = 'http://localhost:9090/tickets';
searchOut: SearchOutput[]
reqHeader = new HttpHeaders({ 'Content-Type': 'application/json','No-Auth':'True' });
constructor(private http: HttpClient) { }
postSearch(SearchData){
return this.http.post<any>(this.uri+'/service',SearchData);
}
}
SearchOutput.model.ts:
export class SearchOutput {
hotel_name: string;
room_type: string;
price: Float32Array;
}
Пожалуйста, помогите. Заранее спасибо