で郵便配達中に入れてメソッドを呼び出すと、私はポストマンを通じてPutメソッドを呼び出すようにしようと常にエラーを得ていた「405の方法を許可しません」 httpメソッド 'PUT'をサポートしていません。 "エラーは、身体パラメータ
私はDocumentDBとC#を使用しています。
[Route("multilanguage/Resources/{id}/{Language}")]
[HttpPut]
public async Task<IHttpActionResult> UpdateResource(string Id, string Language, string text)
{
client = new DocumentClient(new Uri(EndPoint), AuthKey);
var collectionLink = UriFactory.CreateDocumentCollectionUri(DatabaseId, CollectionId);
var query = new SqlQuerySpec("SELECT * FROM MultiLanguage as m where m.id = @pmId",
new SqlParameterCollection(new SqlParameter[] { new SqlParameter { Name = "@pmId", Value = Id } }));
Document doc = client.CreateDocumentQuery<Document>(
collectionLink, query).AsEnumerable().FirstOrDefault();
List<Models.Translations> d = doc.GetPropertyValue<List<Models.Translations>>("Translations");
Models.Translations temp = d.Find(p => p.Language == Language);
temp.Content = text;
temp.LastModified = DateTimeOffset.Now;
temp.ModifiedBy = "admin";
doc.SetPropertyValue("Translations", d);
Document updated = await client.ReplaceDocumentAsync(doc);
return Ok();
}
私はポストマンは、私が "http://localhost:XXXX/multilanguage/resources/2/En" と呼ぶthrought Putメソッドを呼び出し
:ここに私のコードです。 "2"と "En"は私のコードの最初の2つのパラメータです。また、x-www-form-urlencodedタイプのPostmanリクエストBodyに "text"パラメータ値を指定します:key = text、value = Test!このputメソッドは、temp.Contentの値を "Test!"に更新することを想定しています。しかし、私は上記のエラーで常に失敗しました。
私はここで何かを見逃しましたか?
ありがとうございました!それは動作します! –
素晴らしい!良い一日を –