我创建了一个项目,并收到BAD请求错误
下面是代码段,除此之外,我在文件中还有更多代码,我认为不会造成任何麻烦。
@Controller
public class RESTController{
@RequestMapping(value="testing", method=Request method.GET)
Public @ResponseBody String TestingXml(HttpServletRequest request, @RequestBody Test test){
String welcome=test.getName();
return welcome;
}
}
Castor-mapping.xml
<class name="abc.def.model.Test">
<field name="name" type="string">
<bind-xml name="name"/>
</field>
</class>
上面的代码在映射标记内
并用单个字段作为名称和getter设置器编写了Test.java。
任何人都可以帮忙吗 忽略拼写错误是因为将所有这些内容从移动设备上写出来,在日食中没有出现任何错误,同时产生了战争并将其部署在tomcat上得到了错误的请求。
答案 0 :(得分:0)
GET
HTTP方法不支持传递请求正文。
您需要将@RequestParam
与原始字段一起使用(在您的示例中为name
),或将请求方法更改为POST/PATCH/PUT/DELETE
。
根据您的示例,使用@RequestParam
:
@Controller
public class RESTController{
@RequestMapping(value="testing", method=RequestMethod.GET)
public @ResponseBody String TestingXml(HttpServletRequest request, @RequestParam String welcome){
return welcome;
}
}
您可以这样传递它:http://localhost:8080/api?welcome=Hi
您可以了解其用法here。