古いバージョンでは、SomeService : RestServiceBase
OnGet OnPost OnPut OnDelete アクションを対応する入力動詞と一致させることができます。
新しいバージョンでは、次のものがあるとします。
//-----------------------------------------
[Route("/todos/{id}","GET")] //display request
[Route("/todos/{id}", "POST")] //edit request
public class Todo : IReturn<TodoResponse> {
public long Id { get; set; }
public string Content { get; set; }
}
public class TodoService : Service {
public object Get(Todo request) { ... } // will GET verb know this Get() function?
public object Post(Todo request) { ... }// will POST verb know this Post() function?
}
アクション名「Get」「Post」は「override」とマークされなくなりました。SS は Get() および Post() 関数をヒットする正しい動詞をどのように照合しますか?
//------------------------------------------------ --------------------------
またはラウンド 2、今私は修正を持っています.
//-----------------------------------------
[Route("/todos/{id}","GET")] //display request
public class DisplayTodo : IReturn<TodoResponse> {
public long Id { get; set; }
}
[Route("/todos/{id}", "POST")] //edit request
public class EditTodo : IReturn<TodoResponse> {
public long Id { get; set; }
public string Content { get; set; }
}
public class TodoService : Service {
//different request DTOs this time ...
public object Get(DisplayTodo request) { ... } //again, same route "/todos/{id}"
public object Post(EditTodo request) { ... } //will SS get confused about the verbs?
}
同じルート「/todos/{id}」の下で、SS は上記の場合に動詞をどのように区別しますか?
2つの質問で私を整理していただけますか?ありがとうございました!