CFArgument导致函数返回ERROR 415

时间:2015-01-22 17:09:23

标签: coldfusion coldfusion-11

我正在尝试在CF11中创建一个REST Web服务,我收到的错误是我不明白它来自哪里。

第1步
我创建了一个函数,它返回一个查询的结果 - 工作正常 第2步
添加了一些CFArguments,函数返回415 Unsupported Media Type
第3步
删除了cfarguments并且该功能再次起作用.....

有人推荐吗?

这是组件

<cfcomponent restpath="student" rest="true">
    <cffunction name="dbTest" access="remote" output="false" returntype="query"  httpmethod="get" restpath="dbTest">

        <cfargument name="addSFSurveys" type="numeric" required="No" default="0">
        <cfargument name="showRatings" type="numeric" required="No" default="5">
        <cfargument name="siteID" type="numeric" required="No" default="0">
        <cfargument name="pageID" type="numeric" required="No" default="0">
        <cfargument name="includeDoctor" type="numeric" required="No" default="1">
        <cfargument name="topReviews" type="string" required="No" default="">
        <cfargument name="testimonialID" type="string" required="No" default="">
        <cfargument name="procedureID" type="string" required="No" default="">
        <cfargument name="detailedScore" type="string" required="No" default="">
        <cfargument name="minScore" type="string" required="No" default="">
        <cfargument name="maxScore" type="string" required="No" default="">



        <cfquery name="testimonials" datasource="dpsigweb2">
                select distinct top 10 cast(t.testimonial as varchar(max)) as testimonial, t.contactid, t.doctorid,
                c.first as first, left(c.last,1) as last, c.city, c.state, d.practiceNameDisplay, t.featured, t.owneridfk , cd.city as docCity, cd.state as docState, cd.zip as docZip,
                '' as sorter, t.testimonialID , cast(t.title as varchar(max)) as title ,cast(st.finalscore as  decimal(10,1)) as finalscore, CAST(se.procedureID AS varchar(25)) COLLATE Latin1_General_BIN as procedureID,
                st.dateComplete as surveyDate, se.revenue as cost, se.locationName, consultloc = (select top 1 se2.locationname from survey.dbo.survey_events se2 join survey.dbo.surveys s on se2.surveytypeidfk = s.id
                where c.contactid = se2.contactidfk and se2.locationname is not null and isnull(s.surveytypecatidfk,0) <> 1 order by se.eventdate desc)
                from testimonials t
                join contact c on t.contactid = c.contactid
                join doctor d on t.doctorid = d.doctorID
                join contact cd on cd.contactID = d.contactID
                left join testimonial_sites ts on ts.testimonialID = t.TestimonialID
                left join survey_tracking st on st.owneridfk= t.owneridfk
                left join survey.dbo.survey_events se on se.id= st.surveyEventID
                where t.owneridfk != ''
                and ts.siteID= '9'
                order by surveyDate desc
          </cfquery>

        <cfreturn testimonials>
    </cffunction>
</cfcomponent>

结果 enter image description here

1 个答案:

答案 0 :(得分:5)

您应该向restArgSource添加<cfargument>,以便它可以找出从哪里获取变量

请参阅https://wikidocs.adobe.com/wiki/display/coldfusionen/cfargument

希望能给你一些指导