Skip to main content
 首页 » 编程设计

c#之将多个参数传递给 DELETE 请求 c# web API

2024年01月26日32虾米姐

我的问题是如何将多个参数传递给 DELETE 请求。

我的 Controller 类如下,

namespace MYAPI1.Controllers 
{ 
    public class TaskController : ApiController 
    { 
        // DELETE: api/Task/5 
        [Route("api/Task/id1/id2/{id3}")] 
        public void Delete(int id,int id2, string id3) 
        { 
            TaskPersistent tp = new TaskPersistent(); 
            tp.deleteTask(id,id2,id3); 
        } 
    } 
} 

TaskPersistent.class 如下,

public class TaskPersistent 
{ 
    public void deleteTask(int id, int id2, string id3) 
    { 
 
        try 
        { 
            string sqlString = "DELETE from devproj WHERE (DeveloperID, ProjectID, WorkDate) =  VALUES ('" + id + "', '" + id2 + "', '" + id3 + "');"; 
            MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand(sqlString, conn); 
            cmd.ExecuteNonQuery(); 
            long x = cmd.LastInsertedId; 
 
        } 
        catch (Exception x) 
        { 
            Console.WriteLine(x); 
        } 
 
    } 
 
} 

我尝试像这样使用 postman 来使用它,http://localhost:10927/api/Task?id1=1&id2=5&id3="2018-03-14" 但它不起作用,请帮我解决这个问题。

请您参考如下方法:

尝试以下操作

    [Route("api/Task/{id:int}/{id2:int}/{id3}")] 
    public void Delete(int id,int id2, string id3) 
    { 
        TaskPersistent tp = new TaskPersistent(); 
        tp.deleteTask(id,id2,id3); 
    } 

通过以下方式调用:http://localhost:10927/api/Task/1/2/ "2018-03-14"

--- 或 ---

    [Route("api/Task")] 
    public void Delete(int id,int id2, string id3) 
    { 
        TaskPersistent tp = new TaskPersistent(); 
        tp.deleteTask(id,id2,id3); 
    } 

通过以下方式调用:http://localhost:10927/api/Task?id=1&id2=2&id3= "2018-03-14"