2016-05-17 67 views
0

如果PUTDELETE业务资源可以在轮廓资源通过传递要么profileIdprofileName(都是唯一的),什么是形成网址,以正确的方式进行?设计REST URL与多个标识符

我想支持发送profileId当两个更新删除配置文件资源操作和支持更新发送profileName当一个配置文件删除资源操作。

当发送profileId,网址进行PUT操作会是什么样子:

/api/profiles/{profileId} 

将如何URL看起来发送profileName时是怎样的? profileName应该作为查询参数发送吗?

/api/profiles?profileName=uniqueProfileName 

或者是否有更好的方法来处理这种情况?

+0

这将帮助你在这里你会发现如何发送一个数组在URL中,与这个数组,你可以对待你想删除的ID。 http://stackoverflow.com/questions/6243051/how-to-pass-an-array-within-a-query-string –

+0

我们希望同时支持:这是更新/通过profileId删除配置文件和更新/删除配置文件通过profileName –

回答

1

您可以使用profileId为您的个人资料资源主标识

/api/profiles/{profileId} 

而且你可以通过使用查询参数支持{profileName}副标识符

/api/profiles?name={profileName} 

或矩阵参数:

/api/profiles;name={profileName} 
+1

非常感谢你:) –

+0

我设计了'ProfileResource'来支持主标识符和辅助标识符(profileId和profileName)。出错。问题已更新。你能帮我解决这个问题吗? –

+0

@VGHegde它看起来超出了原始问题的范围。你为什么不问一个新问题。我很乐意在那里为您提供帮助。 *提示:*您可以在返回所有配置文件的方法中使用查询字符串,并避免含糊不清。 –