APIを非公開にしたい
ファイルを削除したり、ソースをコメントアウトすることなく、一部のAPIを非公開にしたいのです。
属性で指定できればスマートだと思うのですが、探しても見つかりませんでした。
仕方がないので、
public class SampleController : ApiController { public object Post([FromBody]object value) { return this.NotFound(); // 以降の処理はそのまま残す
のように、強制的に404エラーを返すようにしました。
別の方法ないですかね?
APIのルーティングを変更したい
一部のAPIのルーティングを変更する方法です。
Route属性を設定すればOKです。
public class SampleController : ApiController { [Route("api/internal/sample")] public object Post([FromBody]object value) {
ただし、コントローラー名を直接指定する必要があり、
public class SampleController : ApiController { [Route("api/internal/{controller}")] // これはできない! public object Post([FromBody]object value) {
のように、WebApiConfigでは指定可能なcontrollerパラメーターを指定することはできず、エラーになります。
コントローラー名変更の際は注意が必要ですね。
0 件のコメント:
コメントを投稿