আমি ডাব্লুসিএফ ওয়েব এপিআই থেকে নতুন এএসপি.নেট এমভিসি 4 ওয়েব এপিআইতে রূপান্তর করছি। আমার একটি ইউজারসেন্ট্রোলার রয়েছে এবং আমি প্রমাণীকরণ নামক একটি পদ্ধতি চাই। আমি কীভাবে গেটএল, গেটওন, পোস্ট এবং মুছতে হবে তার উদাহরণগুলি দেখতে পাচ্ছি, তবে আমি যদি এই পরিষেবাদিতে অতিরিক্ত পদ্ধতি যুক্ত করতে চাই তবে কী হবে? উদাহরণস্বরূপ, আমার ইউজারসেবাতে প্রমাণীকরণ নামক একটি পদ্ধতি থাকা উচিত যেখানে তারা একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড দেয় তবে তা কার্যকর হয় না।
public class UsersController : BaseApiController
{
public string GetAll()
{
return "getall!";
}
public string Get(int id)
{
return "get 1! " + id;
}
public User GetAuthenticate(string userName, string password, string applicationName)
{
LogWriter.Write(String.Format("Received authenticate request for username {0} and password {1} and application {2}",
userName, password, applicationName));
//check if valid leapfrog login.
var decodedUsername = userName.Replace("%40", "@");
var encodedPassword = password.Length > 0 ? Utility.HashString(password) : String.Empty;
var leapFrogUsers = LeapFrogUserData.FindAll(decodedUsername, encodedPassword);
if (leapFrogUsers.Count > 0)
{
return new User
{
Id = (uint)leapFrogUsers[0].Id,
Guid = leapFrogUsers[0].Guid
};
}
else
throw new HttpResponseException("Invalid login credentials");
}
}
আমি মায়াপি / এপিআই / ব্যবহারকারী / ব্রাউজ করতে পারি এবং এটি গেটআল কল করবে এবং আমি মায়াপি / এপিআই / ব্যবহারকারী / 1 তে ব্রাউজ করতে পারি এবং এটি গেইট কল করবে, তবে আমি মায়াপি / এপি / ব্যবহারকারী / প্রমাণীকরণ? ইউজার নেম = {0} & পাসওয়ার্ড = {1} তারপরে এটি get (প্রমাণীকৃত নয়) এবং ত্রুটি কল করবে:
পরামিতি অভিধানে 'Navtrak.Services.WCF.NavtrakAPI.Controllers.UversController' এর পদ্ধতি 'System.String গেট (Int32)' এর জন্য নন-অযোগ্য প্রকারের 'System.Int32' এর প্যারামিটার 'আইডি' এর জন্য একটি নাল এন্ট্রি রয়েছে। একটি alচ্ছিক প্যারামিটার অবশ্যই একটি রেফারেন্স টাইপ, একটি nallable টাইপ, বা alচ্ছিক পরামিতি হিসাবে ঘোষিত হতে হবে।
আমি কীভাবে কাস্টম পদ্ধতির নামগুলি যেমন প্রমাণীকরণকে কল করতে পারি?