2

作業中なので、特定の条件でビューAsp.Net MVC 4 Web APIを返す必要もあります。私のフローは以下のとおりです。

  1. サードパーティのアプリケーションが私のWebAPIメソッドを呼び出します。(例:ユーザー認証)
  2. 有効な資格情報がある場合、HTTPステータスをSUCCESS(200)として返す必要があります
  3. ユーザーが無効な場合、資格情報を要求するために同じMVCアプリケーションからVIEW(ログインビュー)を返す必要があります。(ビューには「登録」リンクがあります)

つまり、ポイントは、同じWEB APIメソッドによって異なる条件でLOGIN View (html)との両方を返すことは可能ですか?WebResponse Status (200)

前もって感謝します。

4

2 に答える 2

3

あなたは2つのことをすることができます:

  1. AuthorizeAttributeJon Gallowayのチュートリアルのように使用します: WebAPIの使用を開始します
  2. 応答データをラップしHttpResponseMessage、必要に応じてユーザーをリダイレクトします。例えば:

    var responseMessage = new HttpResponseMessage<Stock>(null, HttpStatusCode.RedirectMethod);
    responseMessage.Headers.Location = new Uri("http://www.mysite.com/login");
    
    return responseMessage;
    
于 2012-05-17T19:26:10.783 に答える
0

メソッドの戻り値の型がActionResult. 結局のところ、Web API は Controller から派生するだけです。ただし、より大きな問題は、クライアントが同じ質問に対するそのようなさまざまな回答を処理できるかということです。おそらく、成功した場合は 200 を返し、「ビューの他のメソッドに問い合わせる」場合は 200 以外を返す必要があります。

于 2012-05-17T18:13:32.193 に答える