Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何使API在内容协商期间抛出406或415代码_.net_Rest_Content Negotiation_Http Status Code 406_Webapi2 - Fatal编程技术网

.net 如何使API在内容协商期间抛出406或415代码

.net 如何使API在内容协商期间抛出406或415代码,.net,rest,content-negotiation,http-status-code-406,webapi2,.net,Rest,Content Negotiation,Http Status Code 406,Webapi2,在构建RESTful API时,在进行内容协商时,需要发出406(不可接受)和415(不支持的媒体类型)的返回码 我不清楚的是如何在使用属性路由的WebAPI2应用程序中返回这些代码 我已经看到了如何使用ActionMethodSelectorAttribute和RouteFactoryAttribute创建自定义路由选择器的示例,但是当由于接受或内容类型不匹配而找不到路由时,自动响应是404 Not found错误,这并不能完全解释问题 我想做的是捕获找不到路由的原因,如果是由于内容类型协商失

在构建RESTful API时,在进行内容协商时,需要发出406(不可接受)和415(不支持的媒体类型)的返回码

我不清楚的是如何在使用属性路由的WebAPI2应用程序中返回这些代码

我已经看到了如何使用ActionMethodSelectorAttribute和RouteFactoryAttribute创建自定义路由选择器的示例,但是当由于接受或内容类型不匹配而找不到路由时,自动响应是404 Not found错误,这并不能完全解释问题

我想做的是捕获找不到路由的原因,如果是由于内容类型协商失败,则返回相应的406或415响应代码


有没有一个例子可以说明如何做到这一点?

好的,我的问题不清楚。。。我试图根据请求头中的accept type中提供的版本实现路由选择,如下所述:我遇到的问题是,当由于版本不匹配而未选择路由时,我希望能够返回406。