Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#5

AW: Rest Json Fehler 415 unsopported Media Type

  Alt 17. Jan 2022, 16:42
Die Product ID gehört ja in die URL. Das gibt man bei AddParameter an:
Delphi-Quellcode:

Request.Addparameter('product_id', '7', TRESTRequestParameterKind.pkURLSEGMENT);
Für den Body solltest du ein passendes Objekt als JSON übergeben:
Delphi-Quellcode:
type
  { unvollständige Klasse ohne richtigen Support für GroupPrices und GraduatedPrices. Erweiterung als Übung :) }
  TUpdateProductPrices = class
  type
    TGroupPrice = class
    type
      TGraduatedPrice = class
        FGraduatedPrice: Double;
        FThreshold: Double;
      end;
    private
      FCustomerGroupId: Integer;
      FGraduatedPrices: TArray<TGraduatedPrice>;
      FGroupPrice: Double;
    end;
  private
    FGroupPrices: TArray<TGroupPrice>;
    FPrice: Double;
  public
    property Price: Double read FPrice write FPrice;
  end;

...

  instance := TUpdateProductPrices.Create;
  try
    instance.Price := 10;
    Request.AddBody<TUpdateProductPrices>(instance); // hier wird das JSON intern zusammengebaut
  finally
    instance.Free;
  end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat