2016-09-22 8 views
0

ich diesen Code haben:wie kann ich senden 2 Objekt in angular2 post request

Client-Seite (angular2)

 saveConfig(configType: ConfigTypes, gasConfigModel: GasConfigModel): any { 
     console.info("sending post request"); 
     let headers = new Headers({ 
      'Content-Type': 'application/json' 
     }); 

.... 

     return this.http 
      .post(this.url, formParamString, ??, {headers: headers}) 
      .map(res => res.json()) 
      .subscribe(
      data => { 
       console.info("next: "); 
       console.info(data) 
      }, 
      err => console.error(err) 
     ); 
     } 

und

Server-Seite:

@Path("/SaveConfig") 
@POST 
@Consumes(MediaType.APPLICATION_JSON + ";charset=utf-8") 
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8") 
public void saveConfig(MyObj my object, CountryGasStationConfig countryGasStationConfig) throws Exception {....} 

I weiß, wie man ein Objekt in Post sendet, aber wie kann ich 2 Objekt in Post-Anfrage senden?

Antwort

4

Da Sie Json als Ihr Medium verwenden, ist es technisch unmöglich, dies zu erreichen, da zwei separate willkürliche Objekte in einem einzelnen Dokument Json ungültig wären.

Eine mögliche Lösung wäre hier jedoch, ein Objekt zu erstellen, das diese beiden Objekte umschließt.

Request-Objekt

public SaveConfigRequest { 
    private MyObj myObject; 
    private CountryGasStationConfig countryGasStationConfig; 


    //getters and setters 
} 

Neue Methode Signature

public void saveConfig(SaveConfigRequest request) 

Beispiel Json Dokument

{ 
    "myObject": {...}, 
    "countryGasStationConfig": {...} 
} 
0

zu Bitte senden Sie zwei Objekt mit unterschiedlichen Schlüsselwert, sie kombinieren, um auf große Objekte wie:

obj1; 
obj2; 
obj2send={ 
'obj1':obj1, 
'obj2':obj2 
}; 

jetzt diese obj2send hat zwei Objekte darin

Verwandte Themen