Obecnie otrzymuje od klienta takiego Stringa: i chcę żeby go zmodyfikować tak, żeby wyglądał jak JSON. Jak widać obecnie nie jest rozpoznawany jako JSON przez znak ucieczki . Oto mój kod:
@RestController
public class EndlessBlowReportController {
public int counter;
@Autowired
public static final Properties defaultProperties = new Properties();
@PostMapping("/add_report")
public String addReport(@RequestBody String report) {
try {
report = report.replaceAll("/","");
defaultProperties.put(counter, report);
counter++;
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
return "Email has been sent";
}
@GetMapping("/get_reports")
public List<String> getReports() {
List<String> reports = new ArrayList<>();
try {
for(int i=0;i<defaultProperties.size();i++) {
reports.add((String) defaultProperties.get(i));
}
} catch (Exception ex) {
}
return reports;
}
jak widać próbowałem na własną rękę naprawić tego buga poprzez takie coś, że przed dodaniem stacktrace do propertiesów próbuje modyfikować Stringa poprzez str.replace i zamienić / na empty stringa. Ale nic to nie daje, String jest cały czas taki sam z dodatkowymi znakami uciekającymi, przez co nie wyświetla mi się w przeglądarce jako JSON. Jak to naprawić?
**Podejrzewam, że należy usunąć znak ucieczki \ zarówno z add_report jak i get_reports ale nie wiem jak albo jeszcze lepiej wyświetlać od razu sensownego JSONa ale jak.
**
Pozdro