के साथ यूआरएल पर स्प्रिंग एमवीसी रिटर्न HTTP 406 मुझे स्प्रिंग एमवीसी का एक बहुत अजीब व्यवहार मिला है।डॉट
मैं विधि के साथ नियंत्रक है:
@RequestMapping (value = "/delete/{id:.*}", method = RequestMethod.DELETE)
public ResponseEntity<Response> delete(@PathVariable (value = "id") final String id) {
HttpStatus httpStatus = HttpStatus.OK;
final Response responseState = new Response(ResponseConstants.STATUS_SUCCESS);
try {
POJO pojo = mediaFileDao.findById(id);
if (pojo != null) {
delete(pojo);
} else {
httpStatus = HttpStatus.NOT_FOUND;
responseState.setError("NOT_FOUND");
}
} catch (Exception e) {
httpStatus = HttpStatus.INTERNAL_SERVER_ERROR;
responseState.setError(e.getMessage());
}
return new ResponseEntity<>(responseState, httpStatus);
}
तो, समस्या है जब आईडी बिंदु (। पूर्व "my_file.wav") स्प्रिंग रिटर्न HTTP 406 किसी भी मामले में शामिल है, लेकिन आईडी डॉट शामिल नहीं है , वसंत प्रतिक्रिया देता है प्रतिक्रिया के रूप में (जेसन के रूप में) मैं expet। मैंने इसे अलग-अलग तरीके से ठीक करने की कोशिश की (@ResponseBody जोड़ें, जैक्सन संस्करण बदलें, स्प्रिंग से 4.0 तक डाउनग्रेड करें) लेकिन बिना किसी परिणाम के।
क्या कोई मेरी मदद कर सकता है?
अद्यतन मैं वसंत MVN के लिए लॉग सक्षम और देखा यह
आईडी डॉट शामिल हैं:
DEBUG org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver - Resolving exception from handler [public org.springframework.http.ResponseEntity<my.package.response.Response> my.package.Controller.deleteMediaFile(java.lang.String) throws java.lang.Exception]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
DEBUG org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver - Resolving exception from handler [public org.springframework.http.ResponseEntity<my.package.response.Response> my.package.Controller.deleteMediaFile(java.lang.String) throws java.lang.Exception]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
DEBUG org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Resolving exception from handler [public org.springframework.http.ResponseEntity<my.package.response.Response> my.package.Controller.deleteMediaFile(java.lang.String) throws java.lang.Exception]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
आईडी शामिल नहीं है डॉट:
DEBUG org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdviceChain - Invoking ResponseBodyAdvice chain for [email protected]
DEBUG org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdviceChain - After ResponseBodyAdvice chain [email protected]
समाधान
Spring does not ignore file extension
SpringMVC: Inconsistent mapping behavior depending on url extension
आपका उत्तर सही लग रहा है से आया है, लेकिन यह मेरी मदद नहीं करता है। वसंत अभी भी HTTP 406 भेजा गया है। – Vartlok
अब अनुरोध @ _equequestMapping (value = "/ delete/{id}", method = RequestMethod.DELETE) ' –
) और अभी भी HTTP 406 – Vartlok