我正在制作SpringMVC网页应用程序。我有一个控制器:
@RestController
@RequestMapping(value ="/certificate", produces = MediaType.APPLICATION_JSON_VALUE)
public class GiftCertificateController {
private final GiftCertificateService gcs;
@Autowired
public GiftCertificateController(GiftCertificateService gcs) {
this.gcs = gcs;
}
@PostMapping
public ResponseEntity<?> createCertificate(@RequestBody GiftCertificate gc) throws Exception {
gcs.createCertificate(gc);
return new ResponseEntity<>(Map.of("status", HttpStatus.CREATED), HttpStatus.CREATED);
}
// some GetMapping and DeleteMapping functions
// omitted for simplicity
}
我尝试在Postman中进行POST,以使用JSON创建证书:
{
"name": "sas",
"description": "sasasas",
"price": 12,
"duration": 12
}
我尝试将我的内容类型更改为application/json,但仍然不起作用。
3条答案
按热度按时间kupeojn61#
您的控制器没有处理该请求。HTTP 415表示“不支持的媒体类型”。
HTTP 415不支持的媒体类型客户端错误响应代码表示服务器拒绝接受请求,因为负载格式不受支持。
格式问题可能是由于请求指示的内容类型或内容编码,或者是直接检查数据的结果。
尝试将值为
"application/json"
的**头"Content-Type"
**添加到 Postman 请求中。Stack Overflow中的搜索引擎非常强大。以下问题可能也会提供有用的信息:
rkttyhzu2#
错误415-不支持的文件格式错误发生时,服务器拒绝接受请求,因为有效负载格式是在一个不支持的格式的文件类型。
1.确保发送正确的Content-Type头值。
2.验证服务器是否能够处理在Content-Type标头中定义的值。
3.检查Accept标头以验证服务器实际上愿意处理的内容。
oyt4ldly3#
即使在将Content-type更改为application/JSON之后,我也遇到了这个问题