我正在使用Spring框架开发REST API。我设置了一个post控制器:
@PostMapping(path="/v2/document", consumes= {"application/xml","application/json"}, produces={"application/xml","application/json"})
@ResponseBody
public ResponseEntity<Object> postDocument(HttpServletRequest request,@RequestBody Template template) throws Exception它接受一个模板对象: public class Template{
@XmlElement(name = "Callback")
private String Callback;
@XmlElement(name = "OutputFormat")
private String OutputFormat;
@XmlElement(name = "Data")
private byte[] Data;
@XmlElement(name = "ConnectionString")
private String ConnectionString;
@XmlElement(name = "Format")
private String Format;
@XmlElementWrapper(name="Properties")
@XmlElement(name = "Property")
private Property[] Properties;现在,这是可以工作的请求体:
<Template>
<connectionString>ConString</connectionString>
<outputFormat>pdf</outputFormat>
<datasources>
<datasource>
<connectionString>ConString</connectionString>
</datasource>
</datasources>
</Template>其中,外部标记是正确的PascalCase格式,但内部标记必须是camelCase。这是我希望身体看起来是这样的:
<Template>
<ConnectionString>ConString</ConnectionString>
<OutputFormat>pdf</OutputFormat>
<Datasources>
<Datasource>
<ConnectionString>ConString</ConnectionString>
</Datasource>
</Datasources>
</Template>发布于 2021-03-11 01:33:18
我所要做的就是添加:
@XmlRootElement(name="Template")
@JsonNaming(PropertyNamingStrategy.UpperCamelCaseStrategy.class)
public class Template{现在它按照我想要的方式工作了。
https://stackoverflow.com/questions/66554363
复制相似问题