Ich möchte eine API erstellen, die Parameter als mehrteilige Datei und JSON-Objekt (@RequestBody) haben kann. Bitte finden Sie folgendes Snippet beim Aufruf dieser API bekomme ich 415 HTTP-Fehler. Wenn ich "@RequestBody LabPatientInfo reportData" entferne, funktioniert es einwandfrei.Können wir multipart und @RequestBody im Frühling zusammen verwenden?
@RequestMapping(value={"/lab/saveReport"}, method={RequestMethod.POST},
consumes={"multipart/form-data"}, headers={"Accept=application/json"})
@ResponseBody
public ResponseEntity<String>
saveReport(@RequestParam(value="reportFile") MultipartFile reportFile,
@RequestBody LabPatientInfo reportData) throws IOException {
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json; charset=utf-8");
logger.info("in Lab Save Report");
logger.info("Report Data {} ", reportData);
//logger.info("Request BODY {} ", request.getAttribute("data"));
return new ResponseEntity<String>(HttpStatus.OK);
}
ist die Klasse LabPatientInfo.
@RooJson(deepSerialize = true)
@RooToString
public class LabPatientInfo {
private String firstName;
private String phoneNumber;
private String DateOfBirth;
private Integer age;
private String gender;
private String refferedBy;
private String reportfile;
private String reportType;
private String reportDate;
private String purpose;
private String followUpDate;
private List<ReportDataInfo> analytes;
während API schlagen Ich bin vorbei folgenden JSON-Objekt mit hochgeladenen Datei ..
{
"firstName":"abc",
"phoneNumber":"898989",
"DateOfBirth":"asas",
"age":"asas",
"gender":"asas",
"refferedBy":"asas",
"reportfile":"asas",
"reportType":"asas",
"reportDate":"asas",
"purpose":"asas",
"followUpDate":"asas",
"analytes":null
}
Ja, das wird funktionieren –
Hey ich oben genannten Code verwendet und bekam jetzt HTTP-Status 400 - Erforderliche Anfrage Teil 'reportData' ist nicht vorhanden. – Mayur
@mayur Wie senden Sie die Anfrage? Sie können versuchen, Curl zu verwenden. Ich habe meine Antwort oben mit Details aktualisiert. Bitte prüfe. – abaghel