मेरे पास दो अलग-अलग परियोजनाएं हैं (रेस्टएपी प्रोजेक्ट, क्लाइंट प्रोजेक्ट)। मेरे पास एक बीन क्लास (अटैचमेंट) है और इसमें बाइट [] है। मैं इस बीन ऐड लिस्ट कलेक्शन (लिस्ट) को पोस्ट करना चाहता हूं। मैंने ऑब्जेक्ट पोस्ट किया लेकिन सूची भेजी गई विधि (प्रोसेसस्टार्ट ()) में शून्य है। नोट: क्लाइंट प्रोजेक्ट में सूची शून्य नहीं है।

****रेस्टएपी प्रोजेक्ट****

public class Attachment {
    private String fileName;
    private String extension;
    private byte[] file;

    //getter and setter
}

public class OnlineRuhsatBean {
    private List<Attachment> attachmentList = new ArrayList<>(); 

    //getter and setter
}


@RestController
@RequestMapping("/api/online")
public class OnlineRestService {

   @PostMapping
   public ResponseEntity<String> processStart(@RequestBody OnlineRuhsatBean onlineRuhsatBean){
      //some codes
   }
}

**** ग्राहक परियोजना ****

public class Attachment {
    private String fileName;
    private String extension;
    private byte[] file;

    //getter and setter
} 



public class Ruhsat {
    private List<Attachment> attacment;

    //getter and setter
}


public class EbysRestClient {
 private HttpHeaders postHeader (){
    HttpHeaders headers = new HttpHeaders();
    headers.add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
    AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 
    Safari/537.36");
    headers.add("X-CSRF-TOKEN",  csrfToken); 
    headers.add("JSESSIONID",  jSessionId);
    headers.add("Cookie",  cookie);
    headers.add("Content-Type",  "application/json");

    return headers;
 }


 public String postRuhsat (Ruhsat ruhsat){
    RestTemplate restTemplate = new RestTemplate();

    String applyNum = "";  
    HttpEntity<Ruhsat> request = new HttpEntity<>(ruhsat,postHeader());
    ResponseEntity response = restTemplate.exchange("localhost:8080/ebys/api/online/", HttpMethod.POST, request, String.class);
    //ResponseEntity response = restTemplate.postForObject(appProperties.getRuhsatRestUrl(), request, ResponseEntity.class);
    //I try above code even so null in restapi project
    if (response.getStatusCode() == HttpStatus.OK){
        applyNum = response.getBody().toString();
        postFile(ruhsat, applyNum);
    }

    return applyNum;
    }
 }
0
sacidpak 22 मई 2019, 10:47

1 उत्तर

सबसे बढ़िया उत्तर

उस तरह की सामग्री के लिए सम्मेलन बाइनरी डेटा को बेस 64 में एन्कोड करना और इसे एक स्ट्रिंग के रूप में रखना है, मेरा सुझाव है कि आप ऐसा करें, सुपर आसान :)

https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html

0
maslan 22 मई 2019, 08:35