Insert data in SQL Server database from excel using HTTP Post

荒凉一梦 提交于 2019-11-29 18:15:46

Just change the POST to

"http://localhost:11121/Student/Insert/" + id

and then map the route

    routes.MapRoute(
        "InsertStudent",
        "Student/Insert/{id}",
        new { controller = "Student", action = "Insert", id = "" }
    );

and then in your controller you can check if id is empty, if not then make a new user

also, sometimes I do things like this

    routes.MapRoute(
        "Resource",
        "{resource}/{operation}/{id}",
        new { controller = "Resource", action = "Index", resource = "", operation = "" id = "" }
    );

and then you could parse out what the things are..

as a side note and if you were making more end points for your service, you might consider using GET, POST, PUT, DELETE instead of actually having "Insert" in the URI. REST.

I don't think your controller action would see the data in this case. It has no way of knowing that the 'jsmith112' you sent should correspond to the string id parameter. Inside of your controller action, use the Request.InputStream object to grab the posted data and send that into the database.

A better way to do this would be to either send it through as url-encoded form data (so the post body would be 'id=jsmith112'), or to change the request to a GET (or a PUT, if you want to be properly RESTful) and hit this URL:

http://localhost:11121/Student/Insert/jsmith112

In that case it should be picked up by the string id parameter.

Also, put a breakpoint inside the controller action to be sure you're actually hitting it, then use the debugger to verify your web service has the data it needs.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!