Ruby on rails 跨多个供应商提供命名服务的最佳方式

Ruby on rails 跨多个供应商提供命名服务的最佳方式,ruby-on-rails,architecture,naming,directory-structure,system-design,Ruby On Rails,Architecture,Naming,Directory Structure,System Design,我面临着跨供应商服务命名约定的问题 问题:系统通过API请求与供应商通信。大多数操作的含义相同,但供应商之间的API不同 我需要从多个招聘网站收集申请 招聘宣传短片: 1. Get /applications # to retrieve a list of applications 2. Get /application # to retrieve application details 3. Get /application/contact. #

我面临着跨供应商服务命名约定的问题

问题:系统通过API请求与供应商通信。大多数操作的含义相同,但供应商之间的API不同

我需要从多个招聘网站收集申请

招聘宣传短片:

1. Get /applications           # to retrieve a list of applications
2. Get /application            # to retrieve application details
3. Get /application/contact.   # to retrieve an application contact info.
4. Get /applicants.            # to retrieve a list of applicants
5. Get /applicant.             # to retrieve a list of applicant
招聘B API:

1. Get /curriculum_vitaes          # to retrieve a list of curriculum vitae
2. Get /curriculum_vitae           # to retrieve curriculum vitae details
3. Get /curriculum_vitae_summary   # to retrieve summary data of a curriculum vitae
4. Get /candidates                 # to retrieve a list of candidates
5. Get /candidate                  # to retrieve candidate details
招聘API: 这一个有不同的API命名。

=>问题:这家公司的最佳服务结构是什么? 我有几个选择,但不知道是否好

首先,我将为这两个项目确定一个通用名称,例如

  • 我使用了应用程序作为应用程序简历
  • 我将候选人用作候选人申请人的通用名称
  • 其次,我将设计服务名称
  • 解决方案1:
  • 解决方案2:
  • 解决方案3:
Recuments::B::Services::Applications::GetApplications
Recuments::B::Services::Applications::GetContact
Recuments::B::Services::Applications::GetApplication
Recuments::B::Services::Candidate::GetApplications
Recuments::B::Services::Applications::GetApplications
Recuments::B::Services::Applications::GetList
Recuments::B::Services::Applications::GetContact
Recuments::B::Services::Applications::GetDetails
Recuments::B::Services::Candidate::GetList
Recuments::B::Services::Applications::GetDetails
Recuments::B::Services::GetApplications
Recuments::B::Services::GetApplicationContact
Recuments::B::Services::GetApplicationDetails
Recuments::B::Services::GetCandidates
Recuments::B::Services::GetCandidateDetail