使用java,当我使用Soap公开一些Web服务时,我有一个描述所有输入/输出的WSDL,如果我在我的SoapUI客户端中使用这个WSDL,它将分析它并为我生成一些示例请求。 / p>
使用Rest / Json执行此操作的过程是什么。我知道wadl,但是SoapUI无法从中生成样本请求。我知道像Swagger套件这样的第三方工具,但这是唯一的方法吗?您是否必须使用一些外部文档工具来公开您的API并向用户显示一些示例请求?
答案 0 :(得分:0)
还没有答案,所以几年后再来。
您需要使用OpenAPI Specification(将结果称为“ Swagger合同”),它定义了RESTful API的标准,与语言无关的接口,而忘了WADL。
这等效于SOAP WSDL,但更易于阅读,更易于生成且约束更轻。
使用Swagger,您可以使用“首先合同”(使用https://editor.swagger.io/设计合同)或“代码优先”,在那里您将使用Springfox之类的框架从代码+注释。最后一个是更容易的imo,它是“先订立合同”的另一种方式,这不像您是否在设计合同之前就实现了整个应用程序。
一旦URL上提供了“麻烦的合同”文档,您就可以部署一个swagger-ui网站以交互方式对其进行可视化:它将生成一些示例请求,并允许您在自定义请求后执行这些请求
答案 1 :(得分:-1)
try {
url="put your service url";
HttpPost request = new HttpPost(url);
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
// Build JSON string
JSONStringer item = new JSONStringer()
.object()
.key("password").value(pass)
.key("username").value(email)
.endObject();
StringEntity entity = new StringEntity(item.toString());
request.setEntity(entity);
// Send request to WCF service
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
HttpEntity entity1 = response.getEntity();
InputStream stream = entity1.getContent();
r = Splash.convertStreamToString(stream);
JSONObject jo = new JSONObject(r);
s= (Integer) jo.get("Flag");
Log.d("json result is:", r);
statusCode = response.getStatusLine().getStatusCode();
} catch (Exception e) {
e.printStackTrace();
Log.d("error", "code"+0);
}
return s;
}