L'applicazione JSON Spring Spring di Spring JSON restituisce un oggetto JSONObject. Accedendo all'URL, ricevo la pagina di errore 406. Funziona quando restituisco String o ArrayList.Il ritorno di JSONObject dal controller a molla genera l'errore 406
Primavera Controller:
package com.mkyong.common.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.json.JSONException;
import org.json.JSONObject;
@Controller
public class JSONController {
@RequestMapping("/test")
@ResponseBody
public JSONObject test() {
try {
JSONObject result = new JSONObject();
result.put("name", "Dade")
.put("age", 23)
.put("married", false);
return result;
} catch (JSONException ex) {
Logger.getLogger(JSONController.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
}
come posso risolvere questo problema? Grazie per l'aiuto. Sono nuovo di Spring MVC, non ho trovato la soluzione a questo problema nelle risposte SO esistenti.
Penso che è necessario per indicare il tipo di contenuto di risposta per il valore di ritorno della funzione provare questo: @RequestMapping (value = "/ test", method = RequestMethod.GET, produce = "application/json ") Fammi sapere se questo funziona per scrivere una risposta migliore –
@JorgeGarita Non funziona. Stessa risposta. –
Spring MVC supporta la serializzazione JSON tramite Jackson, non JSONObject –