所以,这是我的问题。
我目前正在开发 WCF REST 服务,我现在需要实现一种允许我创建帐户(用户帐户)的方法。这次在网上搜索并没有帮助我,这就是为什么我要问一个真正知道我的意思的人 x)。
所以,这是我的方法:
[WebInvoke(Method = "PUT", UriTemplate = "users/{username}",
RequestFormat = WebMessageFormat.Xml)]
[OperationContract]
void PutUserAccount(string username, User u)
{
Debug.WriteLine("Entering method [PutUserAccount]");
// Check if user exists
User user = DBManager.FindUser(username);
if (user == null)
{
try
{
//Create or update new user
u.Id = GetUserLink(username);
u.Notes = GetUserNotesLink(username);
u.BlackListed = false;
DBManager.AddUser(u);
// Set status to created and include new URI in Location
//header
WebOperationContext.Current.OutgoingResponse.SetStatusAsCreated(GetUserProfile(username).Id);
}
catch (Exception e)
{
Debug.WriteLine("_PutUserAccount || Exception [" + e.Message + "]");
}
}
else if (!DBManager.IsUserAuthorized(username, WebOperationContext.Current))
{
Debug.WriteLine("_PutUserAccount - 1. This user isn't allowed to add users");
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Unauthorized;
return;
}
}
这是我的“用户”类:
[DataContract]
class _User
{
[DataMember]
public string Id { get; set; }
[DataMember]
public string Username { get; set; }
[DataMember]
public string Password { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string Email { get; set; }
[DataMember]
public string Notes { get; set; }
[DataMember]
public bool BlackListed { get; set; }
}
我的问题是,我必须如何构建将用户传递给我的服务的请求?
PS:我正在使用邮递员来测试我的代码。
慕田峪7331174
相关分类