dsa2c2255888 2019-06-05 02:48
浏览 97
已采纳

允许的内容类型超过:大猩猩中的application / json

Using the excellent Gorilla mux I have special handler for API requests using application/json as content-type:

apiRouter := router.PathPrefix("/api").Headers("Content-Type", "application/json").Subrouter()

However, some users like to provide more than just that string, i.e. application/json; charset=UTF-8. When this header value is set, the handler returns a 404.

What's the best way to handle this by allowing json and any charset specs?

  • 写回答

2条回答 默认 最新

  • dongzang5815 2019-06-17 19:01
    关注

    Here's how I did it:

    apiRouter := router.PathPrefix("/api").HeadersRegexp("Content-Type", fmt.Sprintf("%s.*", MIMEApplicationJSON)).Subrouter()
    

    Remember, you may apply routing at the actual end point rather than at the root level. For GET requests there would be no need to specify Content-Type, but for POST, you should check for one.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测