今天用postman测试后端api,总是报错,下面是问题解决方案。

一、测试方法

public ApiResult Get(int id)
{
ApiResult result = new ApiResult();

result.data = "我是Get方法返回的数据";
result.success = true;
result.msg = "测试成功";

return result;
}

public class ApiResult
{
public bool success { get; set; }

public string msg { get; set; }

public object data { get; set; }
}

二、问题和解决

0请求:http://localhost/projectmanagement/api/user/5

在网上查了下请求要这么写:http://localhost/projectmanagement/api/user/?id=5

1 提示没有权限

去路由里面一看,前辈重新了校验规则,不知道。为了测试方法我注释的校验规则。

public static void Register(HttpConfiguration config)
{
// Web API 配置和服务

// Web API 路由
config.MapHttpAttributeRoutes();

config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// config.Filters.Add(new AppAuthorizeAttribute());

}

2   "Message": "请求的资源不支持 http 方法“GET”。"

请求

解决:在方法代码上一行 添加 [HttpGet]

3 又报 "Message": "请求的资源不支持 http 方法“GET”。"

解决:同时在多个方法代码 添加 [HttpGet],必须取别名 ,例如 [Route("Get")]

请求也要加别名:http://localhost/projectmanagement/api/user/get/?id=5

http://localhost/projectmanagement/api/user/First/?id=5

然后还是报错。

解决:使用别名时,必须在控制器类上面加前缀    [RoutePrefix("api/User")]

三、完整测试代码

  1. using ProjectManagement.BLL;
  2. using ProjectManagement.Models;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Net;
  7. using System.Net.Http;
  8. using System.Web.Http;
  9.  
  10. namespace ProjectManagement.Controllers
  11. {
  12. [RoutePrefix("api/User")]
  13. public class UserController : ApiController
  14. {
  15.  
  16. [HttpGet]
  17. [Route("First")]
  18. public ApiResult First(int id)
  19. {
  20. ApiResult result = new ApiResult();
  21.  
  22. result.data = "我是First方法返回的数据";
  23. result.success = true;
  24. result.msg = "测试成功";
  25.  
  26. return result;
  27. }
  28.  
  29. [HttpGet]
  30. [Route("Get")]
  31. public ApiResult Get(int id)
  32. {
  33. ApiResult result = new ApiResult();
  34.  
  35. result.data = "我是Get方法返回的数据";
  36. result.success = true;
  37. result.msg = "测试成功";
  38.  
  39. return result;
  40. }
  41.  
  42. }
  43. }

  

Message": "请求的资源不支持 http 方法“GET”的更多相关文章

  1. HTTP状态码和支持的方法

    1. HTTP常用状态码   200 ok 客户端请求成功 400 bad request 客户端请求有语法错误,不能被服务器所理解 401 unauthorized 请求要求身份验证,对于登录后请求 ...

  2. Spring3 MVC请求参数获取的几种方法

    Spring3 MVC请求参数获取的几种方法 一.      通过@PathVariabl获取路径中的参数 @RequestMapping(value="user/{id}/{name}&q ...

  3. HTTP请求415错误 – 不支持的媒体类型(Unsupported media type)

    HTTP请求415错误 – 不支持的媒体类型(Unsupported media type) 通常有以下情况: 1:检查你的 http 请求头信息,比如 因为 User-Agent 被服务器设置 拒绝 ...

  4. [转]在Arcmap中加载互联网地图资源的4种方法

    转自http://blog.3snews.net/space.php?uid=6955280&do=blog&id=67981 前一段时间想在Arcmap中打开互联网地图中的地图数据, ...

  5. ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限

    开发了一个导入TXT文件的功能,执行过程中出错.提示:.....ASP.NET 未被授权访问所请求的资源.请考虑授予 ASP.NET 请求标识访问此资源的权限.ASP.NET 有一个在应用程序没有模拟 ...

  6. 在Arcmap中加载互联网地图资源的4种方法

    前一段时间想在Arcmap中打开互联网地图中的地图数据,如影像数据.基础地图数据等,经过简单研究目前总结了四种方法,整理下与大家分享,有些内容可能理解有误,希望大家多多指教.4种方法如下: a)    ...

  7. python通过get,post方式发送http请求和接收http响应的方法,pythonget

    python通过get,post方式发送http请求和接收http响应的方法,pythonget 本文实例讲述了python通过get,post方式发送http请求和接收http响应的方法.分享给大家 ...

  8. Web服务器(容器)请求常见的错误及其解决方法

    首先我们来看看容器如何找到service()方法?(1)当在浏览器中输入 http://localhost:8080/firstweb/sayHi 这个地址后,容器是如何找到 HelloServlet ...

  9. Spring3 MVC请求参数获取的几种方法[转]

    Spring3 MVC请求参数获取的几种方法 Spring3 MVC请求参数获取的几种方法 一.      通过@PathVariabl获取路径中的参数 @RequestMapping(value=& ...

随机推荐

  1. 《python语言程序设计》_第5章_循环

    #5.1_引言 程序1: 结果: 程序2: 结果: sum is 45 ##注意整个循环语句都要内缩进循环内部 ##ctrl+c中止一个无限循环运行 程序清单5-1: 结果: #5.2.1_实例研究: ...

  2. prim最小生成树

    prim和DIjkstra相似,都使用了贪心策略,加一些限制条件. prim每次会找出尽量小的那个边,将其加入到树中,最终使得生成树长大. 树中有n-1个节点时或者剩下的所有边都是INF,算法结束. ...

  3. 第一课:Python入门(笔记)

    一.变量 1.什么是变量 #变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态. 2.为什么要有变量 #程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制 ...

  4. 每天学点SpringCloud(十一):Hystrix仪表盘

    在SpringCloud学习系列博客第六篇文章中,我们已经学习了Hystrix的使用,但是那篇文章中有一点遗漏没有讲,那就是Hystrix Dashboard ,它可以实时的监控Hystrix的运行情 ...

  5. Android精通之AsyncTask与ListView讲解

    版权声明:未经博主允许不得转载 AsyncTask 了解AsyncTask异步,需要了解一下异步任务(多线程),什么是线程,可以这么说线程好比边吃饭边看电视,AsyncTask是为了方便后台线程中操作 ...

  6. Python学习笔记【第五篇】:基础函数

    一.函数:函数定义关键字def  后跟函数名称 def 函数名(参数):             ...     函数体     ...     返回值 案例: # 定义函数 def say_hei( ...

  7. 五、activiti工作流-学生请假流程

    有了上一节的基础,这节主要讲如何创建一个学生请假流程.部署.运行流程实例.查看任务.执行任务.判断流程实例状态.历史任务(实例)查询.历史活动节点查询 记住,一个正在执行的流程,他的流程定义id无论到 ...

  8. alibaba的FastJson找不到JSON对象问题

    在现在出现使用JSON.toJsonString()方法时,可能没有JSON这个对象. 这种问题可能是下载的jar版本比较高.在低版本的jar使用的是JSON对象. 我使用的是1.2.47版本的jar ...

  9. feh: linux终端下看图片的好工具

    1) 普通浏览 $ feh * 可以察看当前目录下的所有图片,以及当前子目录里的所有图片 2) 播放幻灯片 (-D)   $ feh -D 2 *.jpg 对所有jpg以幻灯片的方式播放,每两秒放一张 ...

  10. 神奇的CSS3混合模式

    神奇的css3混合模式 对于前端开发人员应该都很熟悉Photoshop的图层混合模式,就是几个图层按不同的模式进行混合,实现不同的图像效果.但是当我们前端同学在切这些效果图的时候,基本上就是一刀切的, ...