就良好实践而言,在SOAP Web服务中,我被告知每个输入和输出都应该封装在特定对象中。
如果我们考虑基本的HelloWebService.java
,则意味着有两个类HelloWebServiceInput.java
和HelloWebServiceOutput.java
。
哪个会提供以下服务:
@WebService
public class HelloWebService {
@WebMethod
public HelloWebServiceOutput sayHi(HelloWebServiceInput input) {
HelloWebServiceOutput output = new HelloWebServiceOutput();
output.setMessage("Hello there, " + input.getName() + "!");
return output;
}
}
@Getter
@Setter
public class HelloWebServiceInput {
private String name;
}
@Getter
@Setter
public class HelloWebServiceOutput {
private String message;
}
VS
@WebService
public class HelloWebService {
@WebMethod
public String sayHi(String name) {
return "Hello there, " + name + "!";
}
}
这简化了很多事情......
为什么我不应该只回复一个简单的String
对象,有什么特别的原因吗?