2017-02-27 3 views
0

나는 음식 모델에 대한 데이터를 제출하기위한 양식이 있습니다. SubmitFood 함수가 트리거되면 양식에서 데이터를 제출합니다. SubmitFood 함수는 모델 ie.this.httpService.addFood (this.model)을 올바르게 작동하는 백엔드로 전송합니다. 하지만이 일은 현재 내가하려고하는 일입니다. 양식에 의해 제출되는 모델은 특정 식품 유형에 속합니다. 따라서 SubmitFunction은 food_id 매개 변수 (URL에서 캡처 한 ID)를 따라 제출해야합니다. 서비스 addFood는 id (food.id)도 기다리고 있으므로 url에 바인딩 할 수 있습니다. 그래서이 경우 양식을 제출할 때 URL은 "http://localhost:8000/api/foods/v1/type/100/location"과 같아야합니다. 즉, SubmitFood 함수는 id = 100을 서비스에 전송하여 전송할 모델이 속한 특정 식품 유형을 확인합니다.HTTP 요청 방법 각도 2

addFood(food:any){ 

     const body = JSON.stringify(food); 
     const headers = new Headers(); 
     return this.http.post('http://localhost:8000/api/foods/v1/type/'+food.id+'/location', body, {headers: headers}) 
      .map((data:Response) => data.json()); 

    } 

//component 
export class FoodComponent implements OnInit{ 

    private food_id; 

constructor(private httpService: HttpService , private route:ActivatedRoute) {} 


    ngOnInit() { 

      this.route.params.subscribe(params => {if (params['id']) { 
       this.food_id = params['id']; 
      } 
      }) 
     } 



    model = { 
     type:"", 
     location:"" 

    }; 

    SubmitFood(){ 

     this.httpService.addFood(this.model) 
      .subscribe(data => { 

       console.log(data); 
      }) 
    } 
+1

문제/질문은 무엇입니까? –

+0

@ IgorJanković 내가 service_id 매개 변수를 addFood 서비스에 보낼 수있는 방법 –

답변

2
당신은 단지 서비스에 food_id 전달해야

:

SubmitFood(){ 

    this.httpService.addFood(this.food_id) 
     .subscribe(data => { 

      console.log(data); 
     }) 
} 

음식 서비스 :

addFood(foodId: number){ 

    const body = JSON.stringify(food); 
    const headers = new Headers(); 
    return this.http.post('http://localhost:8000/api/foods/v1/type/'+foodId+'/location', body, {headers: headers}) 
     .map((data:Response) => data.json()); 

} 
+0

고마워요 !!!!! –