更好的方法来制作这个案例REST

时间:2009-04-20 08:43:36

标签: c# .net asp.net-mvc rest

想象一下这个案例:

颜色有id。很容易。
根据用户的语言pref,相同的颜色可以有不同的显示名称。搜索查询和个人偏好 此显示名称未定义,但需要将其传递到每个页面,以便每次提到颜色时用户都会遇到相同的标签。
此外,(并且只是为了保持这个解释简短,请跟我一起)这个名字也可以是空白的(所以参数是可选的)。

由于有许多这样的参数,并且参数是可选的,我不想将所有这些可选参数推送到丑陋的查询字符串,我已经创建了一个URL参数来识别基本上放置颜色id的颜色和一个参数中的可选参数,用自定义分隔符分隔。

示例:

  • Color.mvc /显示/ 123456 - BorisRed - AnotherParameter
  • Formula.mvc /显示/ 123456 - BorisRed - AnotherParameter / 987654

我有一个生成此字符串的helper方法和一个解析此字符串的方法。

到目前为止它的工作正常,但我觉得可能有更好的方法来做到这一点。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

对我看起来不错;您可能想要查看是否可以在解析层中使用“模型绑定器”,以便在路径中仅使用{id},并使用SomeAction(MyColor id),并让model-binder自动解析{{ 1}}。或者(也许更简单),我似乎重申它也将在这里使用id - 所以也许为你的颜色类/结构(TypeConverter上面写一个TypeConverter

示例转换器:

MyColor