簡體   English   中英

如何解決HTTP錯誤415-不支持的媒體類型

[英]How to get around HTTP Error 415 - Unsupported Media Type

我正在使用Restet,想知道是否設置了ServerResource實體類型(例如,針對這種類型的實體)是否可行:

@XStreamAlias("role")
@ApiModel
public class Role {

    private String entityId;
    private String name;

    @ApiModelProperty(required = false, value = "")
    private List<String> aclRead;
    @ApiModelProperty(required = false, value = "")
    private List<String> acLWrite;
    @ApiModelProperty(required = false, value = "")
    private Boolean publicRead;
    @ApiModelProperty(required = false, value = "")
    private Boolean publicWrite;

    public String getEntityId() {
        return entityId;
    }

    public void setEntityId(String entityId) {
        this.entityId = entityId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<String> getAclRead() {
        return aclRead;
    }

    public void setAclRead(List<String> aclRead) {
        this.aclRead = aclRead;
    }

    public List<String> getAcLWrite() {
        return acLWrite;
    }

    public void setAcLWrite(List<String> acLWrite) {
        this.acLWrite = acLWrite;
    }

    public Boolean getPublicRead() {
        return publicRead;
    }

    public void setPublicRead(Boolean publicRead) {
        this.publicRead = publicRead;
    }

    public Boolean getPublicWrite() {
        return publicWrite;
    }

    public void setPublicWrite(Boolean publicWrite) {
        this.publicWrite = publicWrite;
    }

}

我們如何能夠在無需傳遞所有字段的情況下進行POST,在此示例中,我們只想傳遞客戶端請求中的“名稱”,但這樣做會拋出415 - Unsupported Media Type

在我們的客戶端中,我們僅傳遞此JSON

{
  "role" : {
     "name" : "AdminRole" 
  }
}

對於“資源”的“獲取”響應,返回類型也是“角色”,因此客戶端將通過Restlet編組獲取所有字段,entityId,name,aclRead,aclWrite,publicRead和publicWrite。

我們的問題是我們無法發布。

在發布請求中,json數據應僅由實體參數組成,而沒有實體名稱作為根鍵。 因此,您的發帖請求應如下所示:

{
    "name" : "AdminRole" 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM