私はここで少し立ち往生しています。FirefoxのポスターからXMLの小さなスニペットをPOSTしようとしています。
<IntellexEvent>
<RuleName>a rule name</RuleName>
</IntellexEvent>
簡単ですが、今の私のクラスIntellexEvent
は
@XmlRootElement(name = "IntellexEvent")
public class IntellexEvent {
// @XmlElement(name = "RuleName")
private String RuleName;
public String getRuleName()
{
return RuleName;
}
public void setRuleName(String RuleName)
{
this.RuleName = RuleName;
}
}
私のコントローラーは...
@Controller
@RequestMapping("/cace/**")
public class CaceController
{
@Autowired
IUserService userService;
public CaceController()
{
}
@RequestMapping(value = "/cace/postXML", method = RequestMethod.POST)
public Result postXML(@RequestBody String intellexEvent) throws Exception
{
String temp = intellexEvent;
Result result = new Result();
result.setStatusCode(200);
result.setSuccess(true);
return result;
}
}
--編集済み-つまり、@RequestBodyを文字列として使用します。私が望んでいたのは、それが自動的にIntellexEventにマーシャリングされることでした。文字列としてPOSTでバックエンドをヒットでき、文字列をIntellexEventに変更すると、415エラーが発生します。
バックエンドをヒットできるようにしたいだけです。GETを試しましたが、うまくヒットしました(ここではコントローラーに含めませんでした)。ここで何が欠けていますか?spring-mvc-servlet.xmlで、jaxb2マーシャラーを定義しました。さらに詳しい情報が必要な場合は、事前に質問してください。