这个问题与跨基于 JSP/Servelet 的 Web 应用程序和基于 ASP.NET MVC 的 Web 应用程序的跨站点提交有关。我可以将 ASP.NET Web 项目中的 NameValueCollection 对象提交到另一个 ASP.NET MVC 项目,如下所示。
using (var client = new WebClient())
{
client.Credentials = CredentialCache.DefaultNetworkCredentials;
string transId = Guid.NewGuid().ToString(); //In Java we may use UUID class
var data = new NameValueCollection
{
{ "TransId", transId },
{ "Name", "Regi" },
{ "DOB", "10/17/2013" },
{ "ZIPCode", "673010" },
};
var result = client.UploadValues("http://localhost:50976/api/Trans/Trans", data);
string s = Encoding.ASCII.GetString(result); //May be Base64.encodeToString(fileData, Base64.CRLF) in Java?
if (s == "1")
{
Response.Redirect("http://localhost:50976/Product/ProductList?TransId=" + transId + "");
}
}
ASP.NET MVC 项目有一个 WebAPI 正在捕获这个提交,如下所示。
public int Trans(TransViewModel transViewModel)
{
return 1;
}
我的 ViewModel 定义如下
public class TransViewModel
{
public string TransId { get; set; }
public string Name { get; set; }
public DateTime DOB { get; set; }
}
所以现在我需要用基于 Java 的 Web 应用程序替换我的第一个 ASP.NET MVC 应用程序正在调用的 WebProject。如何使用备用 JAVA 类代替 WebClient 完成相同的提交,并将 NameValueCollection 类型提交到同一个 ASP.NET MVC 应用程序?这个提交应该被上面的 ASP.NET MVC 应用程序通过 ViewModel 接受