请求方法没有在Spring中的@RestController中支持@PathVariable

时间:2017-02-02 16:00:42

标签: spring-mvc spring-boot spring-cloud netflix-zuul spring-cloud-netflix

我有RestController,现在我用DELETE写了一个@PathVariable方法:

@RestController("/msisdns")
public class MsisdnsController {
    @DeleteMapping("/{msisdnToUnReserve}")
    public String unreserveMsisdin(@PathVariable String msisdnToUnReserve) { ... }
}

Bult总是得到同样的错误......:

enter image description here

我试过了:

@DeleteMapping("/{msisdnToUnReserve}")
public String unreserveMsisdin(@PathVariable("msisdnToUnReserve") String msisdnToUnReserve)

@RequestMapping(value = "/{msisdnToUnReserve}", method = RequestMethod.DELETE)
public String unreserveMsisdin(@PathVariable("msisdnToUnReserve") String msisdnToUnReserve)

以及更多但总是相同的错误,我无法达到方法

任何帮助?

这是我的Zuul.yml,怎么应该是trnslato URI? enter image description here

PD:/trasnlator在Zuul中配置了Spring Cloud Netflix。

2 个答案:

答案 0 :(得分:1)

当我没有指定<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="Doorgang_Lite.Doorgang_Lite" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="16" /> <application android:label="Doorgang_Lite" android:theme="@android:style/Theme.NoTitleBar"/> </manifest> <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp"> <TextView android:id="@+id/name" android:layout_width="match_parent" android:layout_height="25dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="Please enter your pincode" /> <ImageView android:id="@+id/NmbOne" android:src="@drawable/oc" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@id/name" android:layout_alignParentLeft="true" /> <ImageView android:id="@+id/NmbTwo" android:src="@drawable/oc" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@id/name" android:layout_toRightOf="@+id/NmbOne" /> <ImageView android:id="@+id/NmbThree" android:src="@drawable/oc" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@id/name" android:layout_toRightOf="@+id/NmbTwo" /> <ImageView android:id="@+id/NmbFour" android:src="@drawable/oc" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@id/name" android:layout_toRightOf="@+id/NmbThree" /> <TextView android:id="@+id/name2" android:layout_width="match_parent" android:layout_height="150dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> <ImageView android:id="@+id/TWEE" android:src="@drawable/twee" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/name2" android:layout_centerHorizontal="true" /> <ImageView android:id="@+id/EEN" android:src="@drawable/een" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/name2" android:layout_toLeftOf="@+id/TWEE" /> <ImageView android:id="@+id/DRIE" android:src="@drawable/drie" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/name2" android:layout_toRightOf="@+id/TWEE" /> <ImageView android:id="@+id/VIJF" android:src="@drawable/vijf" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/Twee" android:layout_centerHorizontal="true" /> <ImageView android:id="@+id/VIER" android:src="@drawable/vier" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/Een" android:layout_toLeftOf="@+id/VIJF" /> <ImageView android:id="@+id/ZES" android:src="@drawable/zes" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/Drie" android:layout_toRightOf="@+id/Vijf" /> <ImageView android:id="@+id/ACHT" android:src="@drawable/acht" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/Vijf" android:layout_centerHorizontal="true" /> <ImageView android:id="@+id/ZEVEN" android:src="@drawable/zeven" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/Vier" android:layout_toLeftOf="@+id/ACHT" /> <ImageView android:id="@+id/NEGEN" android:src="@drawable/negen" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/Zes" android:layout_toRightOf="@+id/Acht" /> <ImageView android:id="@+id/NL" android:src="@drawable/nl" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/Acht" android:layout_centerHorizontal="true" /> <ImageView android:id="@+id/BLANCO" android:src="@drawable/blanco" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/Zeven" android:layout_toLeftOf="@+id/NL" /> <ImageView android:id="@+id/BACK" android:src="@drawable/back" android:background="#000000" android:padding="1dp" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_below="@+id/Negen" android:layout_toRightOf="@+id/NL" /> </RelativeLayout> 时,我遇到了类似的问题。您可以尝试解决问题。选择正确的类型(在我的示例中为JSON):

produces

答案 1 :(得分:0)

使用@RequestParam代替@PathVariable,它将起作用

,您的URL将如下所示:localhost:8080 / msisdn?id =“无论您的ID是什么”