如何为restapi自动构建客户端接口?

2024-09-27 21:27:20 发布

您现在位置:Python中文网/ 问答频道 /正文

假设存在RESTful接口,这些集合之间的关系以邻接列表形式表示为图(例如,这可能是json schema、swagger等)。在

{
    'countries': {('persons', 'citizens',), ('regions', 'regions')},
    'person': {('country', 'citizenship'), ('companies', 'works_at')},
    'company': {('persons', 'employes'), ('departments', 'departments'), ('offices', 'offices')},
    'department': {('persons', 'employes')},
    'office': {('person', 'employes')}
}

在``` 键是集合的名称,值是一组关系。{1>其中关系是

我考虑过自动化构建客户机接口的任务,并为此制作好客户机api。 我能想到的最简单的解决方案是这样(在python3.6中可以工作,因为kwargs应该被排序)

^{pr2}$

我想了一段时间来解决这个问题,在python3.5kwargs没有排序,也找不到,所以这可能是错误的方法,但是在python3.6中,客户机代码甚至可以这么简单。在

get(build_url(country='some_country', person='john', company=None)) 这会让约翰从某个国家工作的所有公司都得到回报。在

这个解决方案还有一个缺陷。它不向用户提供api中存在哪些实体的任何信息。在

那么,你将如何实现这一目标?也许已经有图书馆了?在

编辑1。是的,我知道招摇过市。我刚刚了解到它有一些代码生成功能,但这不是我想要的。我不想生成代码,我想用元编程动态地创建它。另外,虽然我知道java,但是用java生成python代码是个坏主意,因为不是每个python程序员都可以更改这个生成器。在


Tags: 代码api客户机排序关系解决方案countrycompany

热门问题