2016-03-21 13 views
0

'a veri bağlanılamıyor Restful Api kullanıyorum ve POSTMAN aracılığıyla JSON Biçiminde veri gönderiyorum bir yayın önyükleme uygulaması oluşturuyorum. Bu verinin model sınıfımla, yani Veri sınıfı isteğiyle eşlenmesini istiyorum, ancak boş değerler alıyorum.JSON'dan Model Sınıfı

ana sınıfı

import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
public class ContactApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(ContactGEApplication.class, args); 
    } 
} 

Kontrol-Sınıfı bu kontrol sınıfıdır. Bu sınıfta, URL'yi/rfs import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;

import com.fasterxml.jackson.core.JsonProcessingException; 
import com.fasterxml.jackson.databind.ObjectMapper; 

@RestController 
public class ContactController { 

    private static Log log = LogFactory.getLog(ContactController.class); 

    @RequestMapping(value = "/rfs", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) 
    public ServiceResponse<String> serviceRequest(@RequestBody RequestData requestData) throws JsonProcessingException { 

     System.out.println(requestData); 
     System.out.println("M in controller"); 
     return ServiceResponse.success(); 

    } 
} 

Data.java İste - Bu benim model sınıfım. Bu ben tüm alanları ve Alıcılar ve ayarlayıcılar

public class RequestData { 

    private static final long serialVersionUID = 1L; 
    private String EquipmentID; 
    private String Modality; 
    private String FacilityID; 
    private String CountryCode; 
    private String ISOCode; 
    private String ProblemType; 
    private String ProblemArea; 
    private String EquipmentStatus; 
    private String Name; 
    private String PhoneNumber; 
    private String Extension; 
    private String Description; 
    private String ShortDescription; 
    private String TimePeriod; 
    private String ServiceCode; 
    private String Locale; 
    private String RequestingApp; 
    private String ExamNumber; 
    private String SeriesNumber; 
    private String ImageNumber; 

    public String getEquipmentID() { 
     return EquipmentID; 
    } 

    public void setEquipmentID(String equipmentID) { 
     EquipmentID = equipmentID; 
    } 

    public String getModality() { 
     return Modality; 
    } 

    public void setModality(String modality) { 
     Modality = modality; 
    } 

    public String getFacilityID() { 
     return FacilityID; 
    } 

    public void setFacilityID(String facilityID) { 
     FacilityID = facilityID; 
    } 

    public String getCountryCode() { 
     return CountryCode; 
    } 

    public void setCountryCode(String countryCode) { 
     CountryCode = countryCode; 
    } 

    public String getISOCode() { 
     return ISOCode; 
    } 

    public void setISOCode(String iSOCode) { 
     ISOCode = iSOCode; 
    } 

    public String getProblemType() { 
     return ProblemType; 
    } 

    public void setProblemType(String problemType) { 
     ProblemType = problemType; 
    } 

    public String getProblemArea() { 
     return ProblemArea; 
    } 

    public void setProblemArea(String problemArea) { 
     ProblemArea = problemArea; 
    } 

    public String getEquipmentStatus() { 
     return EquipmentStatus; 
    } 

    public void setEquipmentStatus(String equipmentStatus) { 
     EquipmentStatus = equipmentStatus; 
    } 

    public String getName() { 
     return Name; 
    } 

    public void setName(String name) { 
     Name = name; 
    } 

    public String getPhoneNumber() { 
     return PhoneNumber; 
    } 

    public void setPhoneNumber(String phoneNumber) { 
     PhoneNumber = phoneNumber; 
    } 

    public String getExtension() { 
     return Extension; 
    } 

    public void setExtension(String extension) { 
     Extension = extension; 
    } 

    public String getDescription() { 
     return Description; 
    } 

    public void setDescription(String description) { 
     Description = description; 
    } 

    public String getShortDescription() { 
     return ShortDescription; 
    } 

    public void setShortDescription(String shortDescription) { 
     ShortDescription = shortDescription; 
    } 

    public String getTimePeriod() { 
     return TimePeriod; 
    } 

    public void setTimePeriod(String timePeriod) { 
     TimePeriod = timePeriod; 
    } 

    public String getServiceCode() { 
     return ServiceCode; 
    } 

    public void setServiceCode(String serviceCode) { 
     ServiceCode = serviceCode; 
    } 

    public String getLocale() { 
     return Locale; 
    } 

    public void setLocale(String locale) { 
     Locale = locale; 
    } 

    public String getRequestingApp() { 
     return RequestingApp; 
    } 

    public void setRequestingApp(String requestingApp) { 
     RequestingApp = requestingApp; 
    } 

    public String getExamNumber() { 
     return ExamNumber; 
    } 

    public void setExamNumber(String examNumber) { 
     ExamNumber = examNumber; 
    } 

    public String getSeriesNumber() { 
     return SeriesNumber; 
    } 

    public void setSeriesNumber(String seriesNumber) { 
     SeriesNumber = seriesNumber; 
    } 

    public String getImageNumber() { 
     return ImageNumber; 
    } 

    public void setImageNumber(String imageNumber) { 
     ImageNumber = imageNumber; 
    } 

    public static long getSerialversionuid() { 
     return serialVersionUID; 
    } 

    @Override 
    public String toString() { 
     return "RequestData [EquipmentID=" + EquipmentID + ", Modality=" + Modality + ", FacilityID=" + FacilityID 
       + ", CountryCode=" + CountryCode + ", ISOCode=" + ISOCode + ", ProblemType=" + ProblemType 
       + ", ProblemArea=" + ProblemArea + ", EquipmentStatus=" + EquipmentStatus + ", Name=" + Name 
       + ", PhoneNumber=" + PhoneNumber + ", Extension=" + Extension + ", Description=" + Description 
       + ", ShortDescription=" + ShortDescription + ", TimePeriod=" + TimePeriod + ", ServiceCode=" 
       + ServiceCode + ", Locale=" + Locale + ", RequestingApp=" + RequestingApp + ", ExamNumber=" + ExamNumber 
       + ", SeriesNumber=" + SeriesNumber + ", ImageNumber=" + ImageNumber + "]"; 
    } 

} 
+0

Başlık daki yönteminden önce @ResponseBody ekleyin: 'Content-Type: application/json' eklendi? Ayrıca giriş ekleyin, URL hata ayıklama kaynaklarının kaynağı olarak istek URL – VinayVeluri

+0

Merhaba vinay hala JSON gelen POJO sınıf RequestData için bağlayıcı değerleri değil. RequestData alanları hala boş – priyanka

+1

Gerçekten hangi JSON'u gönderiyorsunuz? – mhlz

cevap

0

sorun RequestData alanlar tüm büyük harflerle olduğunu görünüyor tanımlayan ediyorum. Bu, alıcılar ve sökücü ile ilgili bir soruna neden oluyor gibi görünüyor. Alanları küçük harfle başlayacak biçimde değiştirirseniz ve JSON isteğinizde eşleşen küçük harfli alanları kullanırsanız, RequestData doldurulur.

+0

ile json gönderirseniz küçük harfle json gönderirseniz, iyi çalışıyor ve verileri eşleştirerek teşekkürler ... :) – priyanka

0

istirahat

@RestController 
public class ContactGEController { 

    private static Log log = LogFactory.getLog(ContactGEController.class); 

    @RequestMapping(value = "/rfs", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) 
@ResponseBody 
    public ServiceResponse<String> serviceRequest(@RequestBody RequestData requestData) throws JsonProcessingException { 

     System.out.println(requestData); 
     System.out.println("M in controller"); 
     return ServiceResponse.success(); 

    } 
}