vue經過axios發送put/post等請求,配合後臺consume"MediaType.APPLICATION_FORM_URLENCODED"

後臺方法:ios

@PUT
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public ResultBean<?>  updateByPrimaryKeySelective(@BeanParam Factory factory){
    return factoryService.updateByPrimaryKeySelective(factory);
}

能夠看到後臺consumes,APPLICATION_FORM_URLENCODED類型的請求。若是採用axios默認的put請求方式,會報404由於不符合後臺方法的調用規則(spring沒法對應到相應的方法)。spring

注意後臺參數使用了:@BeanParam。這要示MediaType必須爲APPLICATION_FORM_URLENCODED。axios

而前臺若是使用data:{}這種方式傳參,雖然能調用方法可是沒法獲取參數:後端

解決方法url

一、前臺改成發送:io

經過這一段可將參數轉化爲url參數,從面符合後端要求。後臺

二、還能夠經過JSON實現 (這裏以POST爲例)。date

相關文章
相關標籤/搜索