Java 根据特定的使用者结构进行REST API开发

Java 根据特定的使用者结构进行REST API开发,java,rest,api,structure,Java,Rest,Api,Structure,我的Java应用程序有一个中心部分,它具有处理逻辑和节点数,如果从中提取数据,则中心部分将从中提取数据 目前,中心部分和节点都使用java,并且有一些接口(具有数据获取方法)需要由节点实现,这些接口允许中心部分从节点获取数据 现在,我想将节点开发外部化,以便可以用任何语言进行开发,并且可以通过HTTP获取数据。我正在考虑使用RESTAPI实现同样的功能。My nodes公开为rest API,中心部分使用rest API调用获取数据 我这里的问题是-是否可以根据我的中心部分的要求定义RESTAP

我的Java应用程序有一个中心部分,它具有处理逻辑和节点数,如果从中提取数据,则中心部分将从中提取数据

目前,中心部分和节点都使用java,并且有一些接口(具有数据获取方法)需要由节点实现,这些接口允许中心部分从节点获取数据

现在,我想将节点开发外部化,以便可以用任何语言进行开发,并且可以通过HTTP获取数据。我正在考虑使用RESTAPI实现同样的功能。My nodes公开为rest API,中心部分使用rest API调用获取数据

我这里的问题是-是否可以根据我的中心部分的要求定义RESTAPI的结构,在开发RESTAPI时可以强制定义RESTAPI的结构。 例如,当我在节点的java类中实现任何接口时,它迫使我使用指定的参数实现一组方法。
是否有任何机制可供使用,通过这种机制,我可以强制使用RESTAPI开发的类似方式来拥有RESTAPI和参数的特定结构。或者我可以导出一些结构并提供给REST开发人员,他们可以根据这些结构验证他们的REST API。

据我所知,没有独立于语言的方法强制其他人按照接口的方式编写REST-API。您将需要一个好的规范,其他人可以遵循,您可以派生测试用例。因此,制作一个小工具,它使用RESTAPI的url来测试和获取数据,根据您的期望对其进行验证,并创建一个包含结果的日志文件。然后,您可以将这个小工具交给其他开发人员进行测试


这并不多,但也许这个想法对您有所帮助。

您可以构建一个使用JSON结构(即作为POST方法的主体)的REST服务。要构建java客户机,请使用可以序列化到此JSON的POJO模型

例如:

HttpEntity<RequestBean> request = new HttpEntity<RequestBean>(requestBean, headers);
RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory());           
ResponseBean response = restTemplate.postForObject(endpoint, request, ResponseBean.class);
HttpEntity请求=新的HttpEntity(requestBean,headers);
RestTemplate RestTemplate=新的RestTemplate(clientHttpRequestFactory());
ResponseBean response=restemplate.postForObject(端点、请求、ResponseBean.class);

其中RequestBean是一个类,它的属性被序列化为预期的JSON,并且必须提供给REST开发人员。

一年前我遇到过类似的问题,其中数据是从每个节点收集的。我们使用apache thrift和zookeeper解决了这个问题。所以我们用RPC代替rest调用