7
votes

Releform 2 Envoyer un objet avec post

im nouveau sur la bibliothèque de modernisation et je veux savoir ce que c'est mieux pourquoi envoyer un objet avec la méthode postale de rénovation.

Voici un code.

My Class: xxx

mon interface: xxx

mon appel avec modernisation: xxx

mais Chaque fois qu'il me renvoie le code d'état 500.

peut-il me donner une idée d'envoyer un objet avec une modernisation?


4 commentaires

S'il vous plaît ajouter la trace de la pile


Veuillez ajouter vos journaux adb aussi.


Avez-vous ajouté GSON ou Jackson Converter à votre instance de rénovation?


J'ajoute également un convertisseur de gson à mon instance de modernisation ...


3 Réponses :


3
votes

Vous pouvez l'envoyer avec l'aide de @formurlencodé par exemple:

@FormUrlEncoded
@Headers("Content-Type: application/json")
@POST("getclass/")
Call<ExampleClass> getExampleClass(@Field("id") int id, @Field("name") String name);


0 commentaires

0
votes
  1. est votre serveur API fonctionner correctement?

    Statut HTTP 500 signifie erreur de serveur interne . Testez d'abord votre serveur API avec un client fiable. Jetez un coup d'œil aux journaux d'erreur sur le serveur et assurez-vous de quel côté provoque le problème.

  2. Avez-vous ajouté GSON ou Jackson Converter à votre instance de rénovation?

    Si votre serveur est clair, le client, votre application pose un problème. Un organe de demande mal formé aurait pu provoquer l'erreur de serveur.

    Avez-vous ajouté un convertisseur GSON (ou Jackson)? Votre annotation @headers ne convertit pas automatiquement votre objet en JSON. Si votre serveur s'attend à ce que JSON pour demande, vous n'envoyez pas «objet», mais une chaîne de représentation JSON de l'objet. Implémentation Serializable L'interface est inutile. Le convertisseur GSON convertira automatiquement l'objet arbitraire en JSON si vous l'ajoutez, ou vous devez utiliser Demande de Demande .

    de Page Roofit GitHub (Section du corps de la demande) :

    Si aucun convertisseur n'est ajouté, seul Demande de Demande peut être utilisé.


0 commentaires

1
votes

500 Erreur de serveur interne

Le code d'état 500 ou l'erreur de serveur interne, signifie que le serveur ne peut pas traiter la demande d'une raison inconnue. Parfois, ce code apparaîtra lorsque des erreurs de 5xx plus spécifiques sont plus appropriées. P>

Cette erreur la plus courante pour cette erreur est la configuration erronée du serveur (par exemple, un fichier malformé .htaccess) ou des packages manquants (par exemple, essayer d'exécuter un fichier PHP. Sans PHP correctement installé correctement). P>

Vous pouvez l'examiner. Eitis fonctionne bien pour moi p>

Classe d'interface API P>

package com.example.dev.billingsoftware.model;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

import java.util.List;

/**
 * Created by dev on 4/8/17.
 */
public class SaveBill {

    @SerializedName("customer_name")
    @Expose
    private String customerName;
    @SerializedName("customer_id")
    @Expose
    private String customerId;
    @SerializedName("bill_number")
    @Expose
    private String billNumber;
    @SerializedName("mobile_number")
    @Expose
    private String mobileNumber;
    @SerializedName("bill_date")
    @Expose
    private String billDate;
    @SerializedName("address")
    @Expose
    private String address;
    @SerializedName("count")
    @Expose
    private String count;
    @SerializedName("data")
    @Expose
    private List<BillData> data = null;

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getBillNumber() {
        return billNumber;
    }

    public void setBillNumber(String billNumber) {
        this.billNumber = billNumber;
    }

    public String getMobileNumber() {
        return mobileNumber;
    }

    public void setMobileNumber(String mobileNumber) {
        this.mobileNumber = mobileNumber;
    }

    public String getBillDate() {
        return billDate;
    }

    public void setBillDate(String billDate) {
        this.billDate = billDate;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getCount() {
        return count;
    }

    public void setCount(String count) {
        this.count = count;
    }

    public List<BillData> getData() {
        return data;
    }

    public void setData(List<BillData> data) {
        this.data = data;
    }

}


0 commentaires